hash_map::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_map_insert.cpp
// compile with: /clr
#include <cliext/hash_map>
typedef cliext::hash_map<wchar_t, int> Myhash_map;
typedef Myhash_map::pair_iter_bool Pairib;
int main()
{
Myhash_map c1;
c1.insert(Myhash_map::make_value(L'a', 1));
c1.insert(Myhash_map::make_value(L'b', 2));
c1.insert(Myhash_map::make_value(L'c', 3));
// display contents " [a 1] [b 2] [c 3]"
for each (Myhash_map::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert a single value, unique and duplicate
Pairib pair1 =
c1.insert(Myhash_map::make_value(L'x', 24));
System::Console::WriteLine("insert([L'x' 24]) = [{0} {1}] {2}",
pair1.first->first, pair1.first->second, pair1.second);
pair1 = c1.insert(Myhash_map::make_value(L'b', 2));
System::Console::WriteLine("insert([L'b' 2]) = [{0} {1}] {2}",
pair1.first->first, pair1.first->second, pair1.second);
for each (Myhash_map::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert a single value with hint
Myhash_map::iterator it =
c1.insert(c1.begin(), Myhash_map::make_value(L'y', 25));
System::Console::WriteLine("insert(begin(), [L'y' 25]) = [{0} {1}]",
it->first, it->second);
for each (Myhash_map::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert an iterator range
Myhash_map c2;
it = c1.end();
c2.insert(c1.begin(), --it);
for each (Myhash_map::value_type elem in c2)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert an enumeration
Myhash_map c3;
c3.insert( // NOTE: cast is not needed
(System::Collections::Generic::
IEnumerable<Myhash_map::value_type>^)%c1);
for each (Myhash_map::value_type elem in c3)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
return (0);
}
Requisitos
Cabeçalho: < cliext/hash_map >
Namespace: cliext