std::upper_bound y std::lower_bound para Vector en C++ STL

Haga clic aquí para ver el Conjunto 1 y el Conjunto 2 de vectores.   

Vector – límite_superior y límite_inferior

Iterator lower_bound (Iterator first, Iterator last, const val) 
Iterator upper_bound (Iterator first, Iterator last, const val) 
lower_bound devuelve un iterador que apunta al primer elemento del rango [primero, último] que tiene un valor no inferior a ‘val ‘. 

y si el valor no está presente en el vector, devuelve el iterador final.
upper_bound devuelve un iterador que apunta al primer elemento en el rango [primero, último] que tiene un valor mayor que ‘val’. 

CPP

// lower_bound and upper_bound in vector
 
#include <algorithm> // for lower_bound, upper_bound and sort
#include <iostream>
#include <vector> // for vector
 
using namespace std;
 
int main()
{
    int gfg[] = { 5, 6, 7, 7, 6, 5, 5, 6 };
 
    vector<int> v(gfg, gfg + 8); // 5 6 7 7 6 5 5 6
 
    sort(v.begin(), v.end()); // 5 5 5 6 6 6 7 7
 
    vector<int>::iterator lower, upper;
    lower = lower_bound(v.begin(), v.end(), 6);
    upper = upper_bound(v.begin(), v.end(), 6);
 
    cout << "lower_bound for 6 at position "
         << (lower - v.begin() + 1) << '\n';
    cout << "upper_bound for 6 at position "
         << (upper - v.begin() + 1) << '\n';
 
    return 0;
}

  
Producción : 

lower_bound for 6 at position 4
upper_bound for 6 at position 7

Veamos la tabla de diferencias con 5 diferencias útiles que son las siguientes: 

std::superior_enlazado estándar::límite_inferior
Se utiliza para devolver un iterador que apunta al último elemento del rango. Se utiliza para devolver un iterador que apunta al primer elemento del rango.
Se define en el archivo de encabezado <algoritmo> . Se define en el archivo de encabezado <algoritmo>.
Su tipo de retorno es de entero. Su tipo de retorno es de entero.
Su complejidad es logarítmica. Su complejidad es logarítmica.
Si ningún elemento en el rango se compara mayor que val, la función regresa en último lugar. Si todos los elementos en el rango se comparan menos que val, la función devuelve el último

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente. 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *