Udostępnij za pośrednictwem


set::Insert (STL/CLR)

Dodaje elementy.

    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

  • pierwszy
    Początek zakresu do wstawienia.

  • ostatni
    Koniec zakresu do wstawienia.

  • prawo
    Wyliczanie do wstawienia.

  • Val
    Wartość klucza do wstawienia.

  • gdzie
    Gdy w pojemniku do wstawiania (tylko Wskazówka).

Uwagi

Wstawia każdej funkcji elementów członkowskich sekwencji, określony przez pozostałe operandów.

Pierwsza funkcja Członkowskie usiłują wstawić element z wartością vali zwraca parę wartości X.Jeśli X.second ma wartość true, X.first wyznacza nowo wstawiony element; w przeciwnym razie X.first wyznacza element równej zamawiania już istnieje i nie nowy element jest wstawiany.Umożliwia ona wstawić pojedynczy element.

Druga funkcja Członkowskie wstawia element z wartością val, korzystanie z where jako wskazówka (w celu zwiększenia wydajności) i zwraca iterację, który wyznacza nowo wstawiony element.Umożliwia ona wstawianie pojedynczego elementu, która może przylegać do elementu, które znasz.

Trzecią funkcję Członkowskie wstawia sekwencji [first, last).Umożliwia ona wstawiać zero lub więcej elementów, skopiowany z innego sekwencji.

Czwarty funkcji składowej wstawia sekwencji, wyznaczony przez right.Umożliwia ona Wstaw sekwencję, opisany przez moduł wyliczający.

Każdy element wstawiania wymaga czasu proporcjonalna do logarytmu liczby elementów w kontrolowanej sekwencji.Wstawiania mogą występować w amortized stałego czasu, jednak podane wskazówkę, która wyznacza element przyległych do punktu wstawiania.

Przykład

// cliext_set_insert.cpp 
// compile with: /clr 
#include <cliext/set> 
 
typedef cliext::set<wchar_t> Myset; 
typedef Myset::pair_iter_bool Pairib; 
int main() 
    { 
    Myset 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 
    Myset c2; 
    Myset::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 
    Myset 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); 
    } 
 
  

Wymagania

Nagłówek: < cliext/set >

Obszar nazw: cliext

Zobacz też

Informacje

set (STL/CLR)