Biblioteca de conjuntos de C ++ - función equal_range

Descripción

Devuelve los límites de un rango que incluye todos los elementos del contenedor que son equivalentes a val.

Declaración

A continuación se muestran las formas en que std :: set :: equal_range funciona en varias versiones de C ++.

C ++ 98

iterator upper_bound (const value_type& val) const;

C ++ 11

iterator upper_bound (const value_type& val);
const_iterator upper_bound (const value_type& val) const;

Valor devuelto

Devuelve los límites de un rango que incluye todos los elementos del contenedor que son equivalentes a val.

Excepciones

Si se lanza una excepción, no hay cambios en el contenedor.

Complejidad del tiempo

La complejidad del tiempo depende de logarítmico.

Ejemplo

El siguiente ejemplo muestra el uso de std :: set :: equal_range.

#include <iostream>
#include <set>

int main () {
   std::set<int> myset;

   for (int i = 1; i <= 5; i++) myset.insert(i*10);

   std::pair<std::set<int>::const_iterator,std::set<int>::const_iterator> ret;
   ret = myset.equal_range(10);

   std::cout << "the lower bound points to: " << *ret.first << '\n';
   std::cout << "the upper bound points to: " << *ret.second << '\n';

   return 0;
}

El programa anterior se compilará y ejecutará correctamente.

the lower bound points to: 10
the upper bound points to: 20