C ++ Queue Library - função swap (queue)

Descrição

A função C ++ std::queue::swap(queue) troca o conteúdo de duas filas.

Declaração

A seguir está a declaração da função std :: queue :: swap (queue) do cabeçalho std :: queue.

C ++ 11

template <class T, class Container>
void swap (queue<T,Container>& q1, queue<T,Container>& q2) noexcept;

Parâmetros

  • q1 - Primeiro objeto de fila.

  • q2 - Segundo objeto de fila.

Valor de retorno

Nenhum

Exceções

Esta função de membro 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 :: queue :: swap (queue).

#include <iostream>
#include <queue>

using namespace std;

int main(void) {
   queue<int> q1, q2;

   for (int i = 0; i < 5; ++i)
      q1.push(i + 1);

   for (int i = 0; i < 3; ++i)
      q2.push(i + 100);

   swap(q1, q2);

   cout << "Contents of q1 and q2 after swap operation" << endl;
   while (!q1.empty()) {
      cout << q1.front() << endl;
      q1.pop();
   }

   cout << endl << endl;

   while (!q2.empty()) {
      cout << q2.front() << endl;
      q2.pop();
   }

   return 0;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

Contents of q1 and q2 after swap operation
100
101
102
1
2
3
4
5