Udostępnij za pośrednictwem


list::splice (STL/CLR)

Restitch łącza między węzłami.

    void splice(iterator where, list<Value>% right);
    void splice(iterator where, list<Value>% right,
        iterator first);
    void splice(iterator where, list<Value>% right,
        iterator first, iterator last);

Parametry

  • pierwszy
    Początek zakresu, aby połączyć.

  • ostatni
    Koniec zakresu, aby połączyć.

  • prawo
    Kontener, aby połączyć się z.

  • gdzie
    Gdy w pojemniku do sklejania przed.

Uwagi

Pierwsza funkcja Członkowskie wstawia sekwencji kontrolowane przez right przed elementu w kontrolowanej sekwencji wskazywanej przez where.Usuwa również wszystkie elementy z right.(%right must not equal this.) Umożliwia on połączyć wszystkie jednej listy do innego.

Druga funkcja Członkowskie usuwa elementu wskazywanego przez first w sekwencji, kontrolowana przez right i wstawia go, zanim element w kontrolowanej sekwencji wskazywanej przez where.(If where == first || where == ++first, no change occurs.) Umożliwia on połączyć jeden element z listy jeden na drugi.

Trzecią funkcję Członkowskie wstawia Podzakres, wyznaczony przez [first, last) z sekwencji, kontrolowana przez right przed elementu w kontrolowanej sekwencji wskazywanej przez where.Usuwa również oryginalne Podzakres z sekwencji, kontrolowana przez right.(If right == this, the range [first, last) must not include the element pointed to by where.) Służy on do sklejania podciąg zero lub więcej elementów z jednej listy do innego.

Przykład

// cliext_list_splice.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(); 
 
// splice to a new list 
    cliext::list<wchar_t> c2; 
    c2.splice(c2.begin(), c1); 
    System::Console::WriteLine("c1.size() = {0}", c1.size()); 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// return one element 
    c1.splice(c1.end(), c2, c2.begin()); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
    for each (wchar_t elem in c2) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// return remaining elements 
    c1.splice(c1.begin(), c2, c2.begin(), c2.end()); 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
    System::Console::WriteLine("c2.size() = {0}", c2.size()); 
    return (0); 
    } 
 
  

Wymagania

Nagłówek: < w cliext na liście >

Obszar nazw: cliext

Zobacz też

Informacje

list (STL/CLR)

list::assign (STL/CLR)

list::insert (STL/CLR)

list::merge (STL/CLR)