Sdílet prostřednictvím


hash_map::insert (STL/CLR)

Přidá prvky.

    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);

Parametry

  • první
    Začátek rozsahu vložit.

  • poslední
    Konec rozsahu vložit.

  • pravý
    Výčet, který chcete vložit.

  • Val
    Hodnota klíče vložit.

  • kde
    Kde v kontejneru vložit (pouze pokyn).

Poznámky

Každé členské funkce vloží posloupnost určený zbývající operandy.

První členské funkce endeavors vložit prvek s hodnotou vala vrátí dvojici hodnot X.Pokud X.second true, X.first označí nově vloženého prvku; jinak X.first označí prvek s ekvivalentní řazení, které již existuje a je vložen žádný nový prvek.Slouží k vložení jednoho prvku.

Druhý člen funkce vloží prvek s hodnotou valpomocí where jako nápovědu (pro zvýšení výkonu) a vrátí iterace, označí nově vloženého prvku.Slouží k vložení jednoho prvku, který může být v blízkosti prvek, který znáte.

Třetí členská funkce vloží pořadí [first, last).Slouží k vložení nula nebo více prvků, které jsou zkopírovány z jiné řady.

Čtvrtá členská funkce vloží určené pořadí right.Pomocí sekvence popsané enumerátor vložit.

Každý prvek kurzor má čas úměrný logaritmu počtu prvků v řízené sekvenci.Vložení může dojít v konstantním čase amortizovaný však dán pokyn, který určuje kurzor vedle prvku.

Příklad

// 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); 
    } 
 
  

Požadavky

Záhlaví:<cliext/hash_map>

Obor názvů: cliext

Viz také

Referenční dokumentace

hash_map (STL/CLR)