Tutorialspoint.dev

multimap upper_bound() function in C++ STL

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 lower bound of key 2 is ";
    cout << (*it).first << " " << (*it).second << endl;
  
    // when 3 is not present
    it = mp.upper_bound(3);
    cout << "The lower 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 lower bound of key 5 is ";
    cout << (*it).first << " " << (*it).second;
    return 0;
}

Output:

The lower bound of key 2 is 4 50
The lower bound of key 3 is 4 50
The lower bound of key 5 is 6 0


This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter