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