Libreria di elenchi C ++ - Funzione splice ()

Descrizione

La funzione C ++ std::list::splice()trasferisce l'elemento puntato dall'iteratore i dalla lista x in * this usando la semantica di spostamento. L'elemento viene inserito prima dell'elemento puntato dalla posizione .

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione std :: list :: splice () nel modulo std :: list header.

C ++ 11

void splice (const_iterator position, list&& x, const_iterator i);

Parametri

  • position - Posizione nella lista dove inserire il nuovo elemento.

  • x - Un altro oggetto elenco dello stesso tipo.

  • i - Iteratore ad accesso casuale.

Valore di ritorno

Nessuna.

Eccezioni

Se l'iteratore punta a una posizione non valida, il comportamento non è definito.

Complessità temporale

Costante cioè O (1)

Esempio

Il seguente esempio mostra l'utilizzo della funzione std :: list :: splice ().

#include <iostream>
#include <list>

using namespace std;

int main(void) {
   list<int> l1 = {1, 2, 3};
   list<int> l2 = {4, 5};

   l1.splice(l1.end(), move(l2), l2.begin());

   cout << "Contents of list l1 after splice operation" << endl;

   for (auto it = l1.begin(); it != l1.end(); ++it)
      cout << *it << endl;

   return 0;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

Contents of list l1 after splice operation
1
2
3
4