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