El mapa: : upper_bound() es una función integrada en C++ STL que devuelve un iterador que apunta al siguiente elemento inmediatamente superior a k. Si la clave pasada en el parámetro excede la clave máxima en el contenedor, entonces el iterador devolvió puntos al número de elementos en el contenedor del mapa como clave y elemento=0.
Sintaxis:
map_name.upper_bound(key)
Parámetros: esta función acepta una única clave de parámetro obligatoria que especifica el elemento cuyo límite superior 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 devolvió los puntos del iterador a map_name.end(). Tenga en cuenta que end() es un iterador especial que no almacena la dirección de un miembro válido de un mapa.
A continuación se muestra la implementación del enfoque anterior:
// 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