El multimap::upper_bound(k) es una función incorporada en C++ STL que devuelve un iterador que apunta al siguiente elemento inmediato que es mayor que k. Si la clave pasada en el parámetro excede la clave máxima en el contenedor, entonces el iterador devuelve puntos a clave+1 y elemento=0.
Sintaxis:
multimap_name.upper_bound(key)
Parámetros: esta función acepta una única clave de parámetro obligatoria que especifica el elemento cuyo límite inferior se devuelve.
Valor devuelto: la función devuelve un iterador que apunta al siguiente elemento inmediato que es justo mayor que k. Si la clave pasada en el parámetro excede la clave máxima en el contenedor, entonces el iterador devuelve puntos a clave+1 y elemento=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; }
Producción:
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