C++ STL 中的 multimap upper_bound() 函式
在本文中,我們將討論 C++ STL 中 multimap::upper_bound() 函式的工作原理、語法和示例。
什麼是 C++ STL 中的 Multimap?
Multimap 是關聯容器,類似於 map 容器。它還可以按特定順序儲存由鍵值對和對映值組合而成的元素。在 multimap 容器中,可以存在多個與相同鍵關聯的元素。資料在內部始終使用其關聯的鍵進行排序。
什麼是 multimap::upper_bound()?
multimap::upper_bound() 函式是 C++ STL 中的內建函式,在 <map> 標頭檔案中定義。upper_bound() 返回指向 multimap 容器上界的迭代器。此函式返回一個迭代器,該迭代器指向被認為在鍵 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(){
//creating a multimap
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 });
// upper bound of 1
auto i = mul.upper_bound(1);
cout << "Upper bound of key 1 is: ";
cout << (*i).first << " "<<(*i).second << endl;
// upper bound of 2
i = mul.upper_bound(2);
cout << "Upper bound of key 2 is: ";
cout << (*i).first << " " <<(*i).second << endl;
// upper bound of 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP