splice one list into another : list splice « list « C++ Tutorial






#include <iostream>
#include <list>
using namespace std;

void show(const char *msg, list<char> lst);

int main() {
  list<char> lstA;
  list<char> lstB;

  lstA.push_back('A');
  lstA.push_back('F');
  lstA.push_back('B');
  lstA.push_back('R');

  lstB.push_back('X');
  lstB.push_back('A');
  lstB.push_back('F');

  lstA.sort();
  lstB.sort();

  // Now, splice lstB into lstA.
  list<char>::iterator itr = lstA.begin();
  ++itr;
  lstA.splice(itr, lstB);
  show("lstA after splice: ", lstA);
  cout << endl;

  return 0;
}

void show(const char *msg, list<char> lst) {
  list<char>::iterator itr;

  cout << msg << endl;

  for(itr = lst.begin(); itr != lst.end(); ++itr)
    cout << *itr << endl;
}








17.15.list splice
17.15.1.Use list.splice() to remove elements in a list and insert at end of values
17.15.2.Insert all elements of list1 before the first element with value 3 of list2
17.15.3.splice one list into another
17.15.4.Move first element to the end