función set::lower_bound() en C++ STL

set::lower_bound() es una función incorporada en C++ STL que devuelve un iterador que apunta al elemento en el contenedor que es equivalente a k pasado en el parámetro. En caso de que k no esté presente en el contenedor del conjunto, 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 el valor máximo en el contenedor, entonces el iterador devolvió puntos al elemento más allá del último elemento en el contenedor establecido. 

La complejidad temporal de set::lower_bound() es O(logn), donde n es el tamaño del conjunto.
Sintaxis: 

set_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 al elemento en el contenedor que es equivalente a k pasado en el parámetro. En caso de que k no esté presente en el contenedor del conjunto, 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 el valor máximo en el contenedor, entonces el iterador devuelto es equivalente a s.end() (Un iterador especial apunta más allá del último elemento). 
El siguiente programa ilustra la función anterior: 

CPP

// CPP program to demonstrate the
// set::lower_bound() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
 
    set<int> s;
 
    // Function to insert elements
    // in the set container
    s.insert(1);
    s.insert(4);
    s.insert(2);
    s.insert(5);
    s.insert(6);
 
    cout << "The set elements are: ";
    for (auto it = s.begin(); it != s.end(); it++)
        cout << *it << " ";
 
    // when 2 is present
    auto it = s.lower_bound(2);
    if (it != s.end()) {
        cout << "\nThe lower bound of key 2 is ";
        cout << (*it) << endl;
    }
    else
        cout << "The element entered is larger than the "
                "greatest element in the set"
             << endl;
    // when 3 is not present
    // points to next greater after 3
    it = s.lower_bound(3);
    if (it != s.end()) {
        cout << "The lower bound of key 3 is ";
        cout << (*it) << endl;
    }
    else
        cout << "The element entered is larger than the "
                "greatest element in the set"
             << endl;
 
    // when 8 exceeds the max element in set
    it = s.lower_bound(8);
    if (it != s.end()) {
        cout << "The lower bound of key 8 is ";
        cout << (*it) << endl;
    }
    else
        cout << "The element is larger than the greatest "
                "element in the set"
             << endl;
 
    return 0;
}
Producción: 

The set elements are: 1 2 4 5 6 
The lower bound of key 2 is 2
The lower bound of key 3 is 4
The element is larger than the greatest element in the set

 

Publicación traducida automáticamente

Artículo escrito por gopaldave y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *