El map::lower_bound(k) es una función incorporada en C++ STL que devuelve un iterador que apunta a la clave en el contenedor que es equivalente a k pasado en el parámetro.
Sintaxis:
map_name.lower_bound(key)
Parámetros: esta función acepta una única clave de parámetro obligatoria que especifica el elemento cuyo límite inferior se va a devolver.
Valor devuelto: la función devuelve un iterador que apunta a la clave en el contenedor del mapa que es equivalente a k pasado en el parámetro. En caso de que k no esté presente en el contenedor del mapa, la función 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 devuelto apunta a la cantidad de elementos en el mapa como clave y elemento = cualquier elemento.
Si el parámetro pasado excede la clave máxima en el contenedor, el iterador devuelto apuntará a map::end() como en std::set.
CPP
// C++ function for illustration // map::lower_bound() function #include <bits/stdc++.h> using namespace std; int main() { // initialize container map<int, int> mp; // insert elements in random order mp.insert({ 2, 30 }); mp.insert({ 1, 10 }); mp.insert({ 5, 50 }); mp.insert({ 4, 40 }); for (auto it = mp.begin(); it != mp.end(); it++) { cout << (*it).first << " " << (*it).second << endl; } // when 2 is present auto it = mp.lower_bound(2); cout << "The lower bound of key 2 is "; cout << (*it).first << " " << (*it).second << endl; // when 3 is not present // points to next greater after 3 it = mp.lower_bound(3); cout << "The lower bound of key 3 is "; cout << (*it).first << " " << (*it).second; // when 6 exceeds it = mp.lower_bound(6); cout << "\nThe lower bound of key 6 is "; cout << (*it).first << " " << (*it).second; return 0; }
Producción :
1 10 2 30 4 40 5 50 The lower bound of key 2 is 2 30 The lower bound of key 3 is 4 40 The lower bound of key 6 is 4 0