當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ map upper_bound()用法及代碼示例


map::upper_bound()是C++ STL中的內置函數,該函數返回一個迭代器,該迭代器指向剛好大於k的下一個元素。如果在參數中傳遞的鍵超過了容器中的最大鍵,則迭代器返回的點將作為key和element = 0指向映射容器中的元素數。

用法:

map_name.upper_bound(key)

參數:該函數接受單個強製性參數鍵,該鍵指定返回其upper_bound的元素。


返回值:該函數返回一個迭代器,該迭代器指向剛好大於k的下一個元素。如果在參數中傳遞的鍵超過了容器中的最大鍵,則迭代器返回的點將作為key和element = 0指向映射容器中的元素數。

下麵是上述方法的實現:

// C++ function for illustration 
// map::upper_bound() function 
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
    // initialize container 
    map<int, int> mp; 
  
    // insert elements in random order 
    mp.insert({ 12, 30 }); 
    mp.insert({ 11, 10 }); 
    mp.insert({ 15, 50 }); 
    mp.insert({ 14, 40 }); 
  
    // when 11 is present 
    auto it = mp.upper_bound(11); 
    cout << "The upper bound of key 11 is "; 
    cout << (*it).first << " " << (*it).second << endl; 
  
    // when 13 is not present 
    it = mp.upper_bound(13); 
    cout << "The upper bound of key 13 is "; 
    cout << (*it).first << " " << (*it).second << endl; 
  
    // when 17 is exceeds the maximum key, so size 
        // of mp is returned as key and value as 0. 
    it = mp.upper_bound(17); 
    cout << "The upper bound of key 17 is "; 
    cout << (*it).first << " " << (*it).second; 
    return 0; 
}
輸出:
The upper bound of key 11 is 12 30
The upper bound of key 13 is 14 40
The upper bound of key 17 is 4 0


相關用法


注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 map upper_bound() function in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。