Libreria di elenchi C ++ - Funzione splice ()
Descrizione
La funzione C ++ std::list::splice()Trasferimenti gli elementi nell'intervallo primo a durare da x a * questo utilizzando semantica movimento. Gli elementi vengono inseriti 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 first, const_iterator last);
Parametri
position - Posizione nella lista dove inserire il nuovo elemento.
x - Un altro oggetto elenco dello stesso tipo.
first - Input iteratore alla posizione iniziale nell'intervallo
last - Input iteratore alla posizione finale nell'intervallo
Valore di ritorno
Nessuna
Eccezioni
Il comportamento non è definito se l'intervallo fornito non è valido.
Complessità temporale
Lineare cioè O (n)
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};
list<int> l2 = {3, 4, 5};
l1.splice(l1.end(), move(l2), l2.begin(), l2.end());
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
5