C ++ STL中的multimap upper_bound()函数
在本文中,我们将讨论C++STL中multimap::upper_bound()函数的工作原理,语法和示例。
什么是C++STL中的Multimap?
多图是关联容器,类似于图容器。它还有助于按特定顺序存储由键值和映射值的组合形成的元素。在多图容器中,可以有多个与同一键关联的元素。始终在内部借助关联的键对数据进行排序。
什么是multimap::upper_bound()?
multimap::upper_bound()函数是C++STL中的内置函数,在<map>头文件中定义。upper_bound()将迭代器返回到多图容器的上限。此函数返回一个迭代器,该迭代器指向被认为在键k之后的最后一个元素。
语法
Map_name.upper_bound(key& k);
参数
此函数仅接受1参数-
k-我们要搜索的键。
返回值
该函数返回迭代器,该迭代器指向键“k”的下一个元素,该元素被认为位于键k之后。
输入值
map<char, int> newmap; newmap(make_pair(‘a’, 1)); newmap(make_pair(‘b’, 2)); newmap(make_pair(‘c’, 3)); newmap.upper_bound(b);
输出结果
c:3
示例
#include <bits/stdc++.h>
using namespace std;
int main(){
//创建一个多图
multimap<int, int> mul;
mul.insert({ 2, 10 });
mul.insert({ 1, 20 });
mul.insert({ 1, 30 });
mul.insert({ 3, 40 });
mul.insert({ 3, 50 });
mul.insert({ 4, 60 });
//1的上限
auto i = mul.upper_bound(1);
cout << "Upper bound of key 1 is: ";
cout << (*i).first << " "<<(*i).second << endl;
//2的上限
i = mul.upper_bound(2);
cout << "Upper bound of key 2 is: ";
cout << (*i).first << " " <<(*i).second << endl;
//3的上限
i = mul.upper_bound(3);
cout << "Upper bound of key 3 is: ";
cout << (*i).first << " " << (*i).second << endl;
return 0;
}输出结果
如果我们运行上面的代码,它将生成以下输出-
Upper bound of key 1 is: 2 10 Upper bound of key 2 is: 3 40 Upper bound of key 3 is: 4 60