C ++ Set Library - función set ()
Descripción
El constructor de C ++ std::set::set() (Range Constructor) construye un contenedor de conjuntos con tantos elementos como se mencionan en el rango [primero, último), con cada elemento de conjunto construido a partir de su elemento correspondiente en ese rango.
Declaración
A continuación se muestra la declaración para el constructor de rango std :: set :: set () del encabezado std :: set.
C ++ 98
template <class InputIterator>
set (InputIterator first, InputIterator last,
const key_compare& comp = key_compare(),
const allocator_type& alloc = allocator_type());
C ++ 11
template <class InputIterator>
set (InputIterator first, InputIterator last,
const key_compare& comp = key_compare(),
const allocator_type& = allocator_type());
C ++ 14
template <class InputIterator>
set (InputIterator first, InputIterator last,
const key_compare& comp = key_compare(),
const allocator_type& = allocator_type());
template <class InputIterator>
set (InputIterator first, InputIterator last,
const allocator_type& = allocator_type());
Parámetros
alloc - Ingrese el iterador a la posición inicial.
comp - Objeto de función de comparación para usar en todas las comparaciones de claves
first, last- El rango para copiar del que son los iteradores de entrada. Este rango incluye los elementos del primero al último, incluido el elemento señalado por el primero pero excluyendo el señalado por el último.
Valor devuelto
El constructor nunca devuelve ningún valor.
Excepciones
Esta función miembro no tiene efecto en caso de que se produzca alguna excepción. Sin embargo, si el rango especificado por [primero, último) no es válido, puede resultar en un comportamiento indefinido.
Complejidad del tiempo
N log (N), donde N = std :: distancia (primero, último);
else linear (O (N)) en la distancia entre los iteradores, si los elementos ya están ordenados.
Ejemplo
El siguiente ejemplo muestra el uso del constructor de rango std :: set :: set ().
#include <iostream>
#include <set>
using namespace std;
int main(void) {
char vowels[] = {'a','e','i','o','u'};
// Range Constructor
std::set<char> t_set (vowels, vowels+5);
std::cout <> "Size of set container t_set is : " << t_set.size();
return 0;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
Size of set container t_set is : 5