Compartilhar via


List::splice (STL/CLR)

Restitch links entre os nós.

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

Parâmetros

  • primeira
    Início do intervalo a fusão.

  • última
    Final do intervalo a fusão.

  • direito
    Recipiente a fusão de.

  • onde
    Onde no recipiente a fusão antes.

Comentários

A primeira função de membro insere a seqüência controlada por right antes do elemento na seqüência controlada apontado pelo where.Ela também remove todos os elementos de right.(%right must not equal this.) Você pode usá-lo a fusão todos de uma lista para outra.

A segunda função de membro remove o elemento apontado por first na seqüência controlada por right e o insere antes do elemento na seqüência controlada apontado pelo where.(If where == first || where == ++first, no change occurs.) Use-a fusão de um único elemento de uma lista para outra.

A função de membro terceira insere o subintervalo designado por [first, last) da seqüência controlada por right antes do elemento na seqüência controlada apontado pelo where.Ela também remove subintervalo original da seqüência controlada por right.(If right == this, the range [first, last) must not include the element pointed to by where.) Você pode usá-lo a fusão um subsequence de zero ou mais elementos de uma lista para outra.

Exemplo

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

Requisitos

Cabeçalho: < cliext/lista >

Namespace: cliext

Consulte também

Referência

lista (STL/CLR)

List::Assign (STL/CLR)

List::Insert (STL/CLR)

List::Merge (STL/CLR)