Libreria di elenchi C ++ - funzione swap ()

Descrizione

La funzione C ++ std::list::swap()scambia il contenuto del primo elenco con un altro. Questa funzione modifica la dimensione dell'elenco, se necessario.

Dichiarazione

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

C ++ 98

template <class T, class Alloc>
void swap (list<T,Alloc>& first, list<T,Alloc>& second);

Parametri

  • first - Primo oggetto della lista.

  • second - Secondo oggetto della lista.

Valore di ritorno

Nessuna.

Eccezioni

Questa funzione non genera mai eccezioni.

Complessità temporale

Lineare cioè O (n)

Esempio

L'esempio seguente mostra l'utilizzo della funzione std :: list :: swap ().

#include <iostream>
#include <list>

using namespace std;

int main(void) {
   list<int> l1 = {1, 2, 3};
   list<int> l2 = {10, 20, 30, 40, 50};

   cout << "List l1 contains following elements before swap operation" << endl;
   for (auto it = l1.begin(); it != l1.end(); ++it)
      cout << *it << endl;

   cout << "List l2 contains following elements before swap operation" << endl;
   for (auto it = l2.begin(); it != l2.end(); ++it)
      cout << *it << endl;

   swap(l1, l2);

   cout << "List l1 contains following elements after swap operation" << endl;
   for (auto it = l1.begin(); it != l1.end(); ++it)
      cout << *it << endl;

   cout << "List l2 contains following elements after swap operation" << endl;
   for (auto it = l2.begin(); it != l2.end(); ++it)
      cout << *it << endl;

   return 0;
}

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

List l1 contains following elements before swap operation
1
2
3
List l2 contains following elements before swap operation
10
20
30
40
50
List l1 contains following elements after swap operation
10
20
30
40
50
List l2 contains following elements after swap operation
1
2
3