C ++ Set Library - função set ()

Descrição

O construtor C ++ std::set::set() (Construtor de intervalo) constrói um contêiner de conjunto com tantos elementos quanto mencionados no intervalo [primeiro, último), com cada elemento de conjunto construído a partir de seu elemento correspondente nesse intervalo.

Declaração

A seguir está a declaração para o construtor de intervalo std :: set :: set () do cabeçalho 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 - Insira o iterador na posição inicial.

  • comp - Objeto de função de comparação a ser usado para todas as comparações de chaves

  • first, last- O intervalo para copiar do qual são os iteradores de entrada. Este intervalo inclui os elementos do primeiro ao último, incluindo o elemento apontado pelo primeiro, mas excluindo aquele apontado pelo último.

Valor de retorno

O construtor nunca retorna nenhum valor.

Exceções

Esta função de membro não tem efeito no caso de qualquer exceção ser lançada. No entanto, se o intervalo especificado por [primeiro, último) for inválido, pode resultar em um comportamento indefinido.

Complexidade de tempo

N log (N), onde N = std :: distância (primeiro, último);

else linear (O (N)) na distância entre os iteradores, se os elementos já estiverem classificados.

Exemplo

O exemplo a seguir mostra o uso do construtor de intervalo 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;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

Size of set container t_set is : 5