Compartilhar via


hash_set::Insert (STL/CLR)

Adiciona elementos.

    cliext::pair<iterator, bool> insert(value_type val);
    iterator insert(iterator where, value_type val);
    template<typename InIter>
        void insert(InIter first, InIter last);
    void insert(System::Collections::Generic::IEnumerable<value_type>^ right);

Parâmetros

  • primeira
    Início do intervalo para inserir.

  • última
    Final do intervalo para inserir.

  • direito
    Enumeração para inserir.

  • Val
    Valor de chave para inserir.

  • onde
    Onde no contêiner para inserir (Dica somente).

Comentários

Cada uma das funções de membro insere uma seqüência especificada por operandos restantes.

Portanto a primeira função de membro inserir um elemento com valor vale retorna um par de valores X.Se X.second é verdadeiro, X.first designa o elemento recém-inserido; Caso contrário, X.first designa um elemento com o equivalente de pedidos que já existe e nenhum novo elemento é inserido.Você pode usá-lo para inserir um único elemento.

A segunda função de membro insere um elemento com valor val, usando where como uma dica (para melhorar o desempenho) e retorna um iterador que designa o elemento recém-inserido.Você pode usá-lo para inserir um único elemento que pode ser adjacente a um elemento que você conhece.

A função de membro terceira insere a seqüência [first, last).Você pode usá-lo para inserir zero ou mais elementos copiados de outra seqüência.

A quarta função de membro insere a seqüência designada pelo right.Você pode usá-lo para inserir uma seqüência descrita por um enumerador.

Inserção de cada elemento leva tempo proporcional ao logaritmo do número de elementos na seqüência controlada.Inserção pode ocorrer em tempo de constante amortizado, no entanto, dada uma dica que designa um elemento adjacente ao ponto de inserção.

Exemplo

// cliext_hash_set_insert.cpp 
// compile with: /clr 
#include <cliext/hash_set> 
 
typedef cliext::hash_set<wchar_t> Myhash_set; 
typedef Myhash_set::pair_iter_bool Pairib; 
int main() 
    { 
    Myhash_set c1; 
    c1.insert(L'a'); 
    c1.insert(L'b'); 
    c1.insert(L'c'); 
 
// display initial contents " a b c" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert a single value, unique and duplicate 
    Pairib pair1 = c1.insert(L'x'); 
    System::Console::WriteLine("insert(L'x') = [{0} {1}]", 
        *pair1.first, pair1.second); 
 
    pair1 = c1.insert(L'b'); 
    System::Console::WriteLine("insert(L'b') = [{0} {1}]", 
        *pair1.first, pair1.second); 
 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert a single value with hint 
    System::Console::WriteLine("insert(begin(), L'y') = {0}", 
        *c1.insert(c1.begin(), L'y')); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert an iterator range 
    Myhash_set c2; 
    Myhash_set::iterator it = c1.end(); 
    c2.insert(c1.begin(), --it); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert an enumeration 
    Myhash_set c3; 
    c3.insert(   // NOTE: cast is not needed 
        (System::Collections::Generic::IEnumerable<wchar_t>^)%c1); 
    for each (wchar_t elem in c3) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
  

Requisitos

Cabeçalho: < cliext/hash_set >

Namespace: cliext

Consulte também

Referência

hash_set (STL/CLR)