Biblioteca de listas de C ++ - función swap ()

Descripción

La función C ++ std::list::swap()intercambia el contenido de la primera lista con otra. Esta función cambia el tamaño de la lista si es necesario.

Declaración

A continuación se muestra la declaración de la función std :: list :: swap () del encabezado std :: list.

C ++ 98

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

Parámetros

  • first - Primer objeto de lista.

  • second - Segundo objeto de lista.

Valor devuelto

Ninguna.

Excepciones

Esta función nunca lanza una excepción.

Complejidad del tiempo

Lineal es decir O (n)

Ejemplo

El siguiente ejemplo muestra el uso de la función 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;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

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