multimap lower_bound() 函数在 C++ STL 中的应用
multimap::lower_bound(k) 是 C++ STL 中的一种内置函数。它返回指向容器中与传递参数 k 相等的键的迭代器。如果 k 不在 multimap 容器中,则该函数返回一个迭代器,该迭代器指向大于 k 的最近的下一个元素。如果传递的键值大于容器中的最大键值,则返回的迭代器指向 key+1,元素=0。
语法:
multimap_name.lower_bound(key)
参数:
该函数接受一个参数 key,其指定要返回 lower_bound 的元素
返回值:
该函数返回指向容器中与传递参数 k 相等的键的迭代器。如果 k 不在 multimap 容器中,则该函数返回一个迭代器,该迭代器指向大于 k 的最近的下一个元素。如果传递的键值大于容器中的最大键值,则返回的迭代器指向 key+1,元素=0。
// 以下是 C++ 中用来说明 multimap::lower_bound() 函数的代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 初始化容器
multimap<int, int> mp;
// 随机插入元素
mp.insert({ 2, 30 });
mp.insert({ 1, 40 });
mp.insert({ 2, 60 });
mp.insert({ 2, 20 });
mp.insert({ 1, 50 });
mp.insert({ 4, 50 });
// 当元素2存在时
auto it = mp.lower_bound(2);
cout << "The lower bound of key 2 is ";
cout << (*it).first << " "
<< (*it).second << endl;
// 当元素3不存在时
it = mp.lower_bound(3);
cout << "The lower bound of key 3 is ";
cout << (*it).first << " "
<< (*it).second << endl;
// 当元素5超过时
it = mp.lower_bound(5);
cout << "The lower bound of key 5 is ";
cout << (*it).first << " "
<< (*it).second << endl;
return 0;
}
输出如下:
The lower bound of key 2 is 2 30
The lower bound of key 3 is 4 50
The lower bound of key 5 is 6 0