Biblioteca de listas C ++ - função swap ()

Descrição

A função C ++ std::list::swap()troca o conteúdo da primeira lista por outra. Esta função altera o tamanho da lista, se necessário.

Declaração

A seguir está a declaração para o formulário de função std :: list :: swap () do cabeçalho std :: list.

C ++ 98

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

Parâmetros

  • first - Primeiro objeto da lista.

  • second - Segundo objeto da lista.

Valor de retorno

Nenhum.

Exceções

Esta função nunca lança exceção.

Complexidade de tempo

Linear, ou seja, O (n)

Exemplo

O exemplo a seguir mostra o uso da função 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;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte 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