Udostępnij za pośrednictwem


list::insert (STL/CLR)

Dodaje elementy w określonym położeniu.

    iterator insert(iterator where, value_type val);
    void insert(iterator where, size_type count, value_type val);
    template<typename InIt>
        void insert(iterator where, InIt first, InIt last);
    void insert(iterator where,
        System::Collections::Generic::IEnumerable<Value>^ right);

Parametry

  • count
    Liczba elementów do wstawienia.

  • pierwszy
    Początek zakresu do wstawienia.

  • ostatni
    Koniec zakresu do wstawienia.

  • prawo
    Wyliczenie do wstawienia.

  • Val
    Wartość elementu do wstawienia.

  • gdzie
    Gdzie w pojemniku, który będzie wstawiany przed.

Uwagi

Funkcje każdego członka do wstawiania przed elementu wskazywanego przez where w kontrolowanej sekwencji sekwencji określonej przez pozostałe operandy.

Pierwsza funkcja Członkowskie wstawia element o wartości val i zwraca iterację opisująca nowo wstawiony element.Umożliwia to wstawianie pojedynczego elementu przed miejsce wyznaczone przez iterację.

Druga funkcja członkowska wstawia powtórzenia elementów count o wartości val.Umożliwia to wstawianie zero lub więcej sąsiadujących elementów, które są wszystkie kopie tej samej wartości.

If InIt is an integer type, the third member function behaves the same as insert(where, (size_type)first, (value_type)last).Otherwise, it inserts the sequence [first, last).Umożliwia ona Wstaw skopiowane z innej sekwencji zero lub więcej sąsiadujących elementów.

Czwarty funkcji członka wstawia sekwencji wyznaczone przez right.Umożliwia ona Wstaw sekwencję opisaną przez moduł wyliczający.

Przy wstawianiu pojedynczy element, liczbę kopii elementu jest liniowa w liczbie elementów między punktem wstawiania a bliżej końca sekwencji. (Podczas wstawiania jednego lub więcej elementów na końcu sekwencji, brak kopii elementu wykonywane.) Jeśli InIt jest iteratora wprowadzania funkcji trzeciego członka skutecznie wykonuje wstawiania jednego dla każdego elementu w sekwencji.W przeciwnym razie przy wstawianiu N elementów, liczbę kopii elementu jest liniowa w N plus liczba elementów między punktem wstawiania a bliżej końca sekwencji.

Przykład

// cliext_list_insert.cpp 
// compile with: /clr 
#include <cliext/list> 
 
int main() 
    { 
    cliext::list<wchar_t> c1; 
    c1.push_back(L'a'); 
    c1.push_back(L'b'); 
    c1.push_back(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 using iterator 
    cliext::list<wchar_t>::iterator it = c1.begin(); 
    System::Console::WriteLine("insert(begin()+1, L'x') = {0}", 
        *c1.insert(++it, L'x')); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert a repetition of values 
    cliext::list<wchar_t> c2; 
    c2.insert(c2.begin(), 2, L'y'); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert an iterator range 
    it = c1.end(); 
    c2.insert(c2.end(), c1.begin(), --it); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert an enumeration 
    c2.insert(c2.begin(),   // NOTE: cast is not needed 
        (System::Collections::Generic::IEnumerable<wchar_t>^)%c1); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// insert a single value using index 
    it = c2.begin(); 
    ++it, ++it, ++it; 
    c2.insert(it, L'z'); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    return (0); 
    } 
 
  

Wymagania

Nagłówek:<cliext/list>

Przestrzeń nazw: cliext

Zobacz też

Informacje

list (STL/CLR)

list::assign (STL/CLR)