Поделиться через


list::splice (STL/CLR)

Ссылки Restitch между узлами.

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

Параметры

  • first
    Начало диапазона для объединения.

  • last
    Элемент диапазона для объединения.

  • правый
    Контейнер для объединения.

  • , где
    , Где в контейнере восстановиться ранее.

Заметки

Первый функцию-член вставляет последовательность управляемой right перед элементом в управляемой последовательности, на которую указывает where.Он также удаляет все элементы из right.(%right не должно равняться this). Используется для подключения всего из одного списка в другой.

Второй функцию-член удаляет элемент, на first в управляемой последовательности right и вставляет его перед элементом в управляемой последовательности, положение where.(Если where==first||where== ++first не происходит изменение). Используется для объединения один элемент одного списка в другой.

Третий функцию-член вставляет поддиапазон выделенный [first,last) из управляемой последовательности right перед элементом в управляемой последовательности, на которую указывает where.Он также удаляет исходный поддиапазон из управляемой последовательности right.(Если right==this, диапазон [first,last) не должно включать элемент, на where). Используется для объединения самой длинной общей подпоследовательности ноль или более элементов из одного списка в другой.

Пример

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

Требования

заголовок: <список cliext/>

Cliext пространство имен:

См. также

Ссылки

list (STL/CLR)

list::assign (STL/CLR)

list::insert (STL/CLR)

list::merge (STL/CLR)