The multimap::upper_bound(k) is a built-in function in C++ STL which returns an iterator pointing to the immediate next element which is just greater than k. If the key passed in the parameter exceeds the maximum key in the container, then the iterator returned points to key+1 and element=0.
Syntax:
multimap_name.upper_bound(key)
Parameters: This function accepts a single mandatory parameter key which specifies the element whose lower_bound is returned.
Return Value: The function returns an iterator pointing to the immediate next element which is just greater than k. If the key passed in the parameter exceeds the maximum key in the container, then the iterator returned points to key+1 and element=0.
// C++ function for illustration // multimap::upper_bound() function #include <bits/stdc++.h> using namespace std; int main() { // initialize container multimap< int , int > mp; // insert elements in random order mp.insert({ 2, 30 }); mp.insert({ 1, 40 }); mp.insert({ 2, 60 }); mp.insert({ 2, 20 }); mp.insert({ 1, 50 }); mp.insert({ 4, 50 }); // when 2 is present auto it = mp.upper_bound(2); cout << "The upper bound of key 2 is " ; cout << (*it).first << " " << (*it).second << endl; // when 3 is not present it = mp.upper_bound(3); cout << "The upper bound of key 3 is " ; cout << (*it).first << " " << (*it).second << endl; // when 5 is exceeds the maximum key it = mp.upper_bound(5); cout << "The upper bound of key 5 is " ; cout << (*it).first << " " << (*it).second; return 0; } |
The upper bound of key 2 is 4 50 The upper bound of key 3 is 4 50 The upper bound of key 5 is 6 0
Attention reader! Don’t stop learning now. Get hold of all the important C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.