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