unordered_set equal_range en C++ STL

equal_range() en general, devuelve un rango que incluye todos los elementos iguales al valor dado. Para unordered_set donde todas las claves son distintas, el rango devuelto contiene como máximo un elemento. Sintaxis

 setname.equal_range(key name)

Argumentos Toma como parámetro la clave a buscar. Valor devuelto Devuelve dos iteradores: límite inferior y superior del rango que contiene la clave. Ejemplo 

CPP

// C++ program to illustrate the
// unordered_set::equal_range function
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
    // declaration
    unordered_set<int> sample;
 
    // Insert some values
    sample.insert({ 20, 30, 40 });
 
    // Test the equal_range function for
    // a given key if it does exists
    auto range1 = sample.equal_range(20);
    if (range1.first != sample.end()) {
        for (; range1.first != range1.second; ++range1.first)
            cout << *range1.first << endl;
    }
    else
        cout << "Element does not exist";
    return 0;
}

Producción

20

CPP

// C++ program to illustrate the
// unordered_set::equal_range function
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
 
    // declaration
    unordered_set<int> sample;
 
    // Insert some values
    sample.insert({ 20, 30, 40 });
 
    // Test the equal_range function
    // for a given key if it does not exist
    auto range1 = sample.equal_range(60);
    if (range1.first != sample.end()) {
        for (; range1.first != range1.second; ++range1.first)
            cout << *range1.first << endl;
    }
    else
        cout << "Element does not exist";
    return 0;
}

Producción

Element does not exist

Complejidad temporal: O(n) 

Publicación traducida automáticamente

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