establecer la función equal_range() en C++ STL

El set::equal_range() es una función integrada en C++ STL que devuelve un iterador de pares. El par se refiere al rango que incluye todos los elementos del contenedor que tienen una clave equivalente a k. Dado que el conjunto contiene elementos únicos, el límite inferior será el elemento mismo y el límite superior apuntará al siguiente elemento después de la clave k. Si no hay elementos que coincidan con la clave K, el rango devuelto es de longitud 0 con ambos iteradores apuntando al primer elemento que es mayor que k según el objeto de comparación interna del contenedor (key_comp). Si la clave supera el elemento máximo en el contenedor del conjunto, devuelve un iterador que apunta al último elemento del contenedor del conjunto.

Sintaxis:

set_name.equal_range(key) 

Parámetros: la función acepta una clave de parámetro obligatoria que especifica la clave cuyo rango en el contenedor del conjunto se va a devolver.

Valor devuelto: la función devuelve un iterador de pares. (tecla_comp). El par se refiere al rango que incluye todos los elementos del contenedor que tienen una clave equivalente a k. Dado que el conjunto contiene elementos únicos, el límite inferior será el elemento mismo y el límite superior apuntará al siguiente elemento después de la clave k. Si no hay elementos que coincidan con la clave K, el rango devuelto es de longitud 0 con ambos iteradores apuntando al primer elemento que es mayor que k según el objeto de comparación interna del contenedor (key_comp). Si la clave supera el elemento máximo en el contenedor del conjunto, devuelve un iterador que apunta al último elemento del contenedor del conjunto.

El siguiente programa ilustra la función anterior.

// CPP program to demonstrate the
// set::equal_range() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
  
    set<int> s;
  
    s.insert(1);
    s.insert(4);
    s.insert(2);
    s.insert(5);
    s.insert(3);
  
    // prints the set elements
    cout << "The set elements are: ";
    for (auto it = s.begin(); it != s.end(); it++)
        cout << *it << " ";
  
    // Function returns lower bound and upper bound
    auto it = s.equal_range(2);
    cout << "\nThe lower bound of 2 is " << *it.first;
    cout << "\nThe upper bound of 2 is " << *it.second;
  
    // Function returns the last element
    it = s.equal_range(8);
    cout << "\nThe lower bound of 8 is " << *it.first;
    cout << "\nThe upper bound of 8 is " << *it.second;
  
    // Function returns the range where the
    // element greater than 0 lies
    it = s.equal_range(0);
    cout << "\nThe lower bound of 0 is " << *it.first;
    cout << "\nThe upper bound of 0 is " << *it.second;
  
    return 0;
}
Producción:

The set elements are: 1 2 3 4 5 
The lower bound of 2 is 2
The upper bound of 2 is 3
The lower bound of 8 is 5
The upper bound of 8 is 5
The lower bound of 0 is 1
The upper bound of 0 is 1

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 *