cola::intercambio() en C++ STL

La cola también es un tipo de datos abstracto o una estructura de datos lineal, que sigue un orden particular en el que se realizan las operaciones. El orden es Primero en entrar, primero en salir ( FIFO ). En una estructura de datos FIFO, el primer elemento agregado a la cola será el primero en ser eliminado.

queue::swap(
) La función swap() se usa para intercambiar el contenido de dos colas, pero las colas deben ser del mismo tipo , aunque los tamaños pueden diferir.

Sintaxis:

queue1.swap(queue2)
            OR
swap(queue1, queue2)

Parameters:
queue1 is the first queue object.
queue2 is the second queue object.

Valor devuelto: Ninguno

Ejemplos:

Input :  queue1 = {1, 2, 3, 4}
         queue2 = {5, 6, 7, 8}
         queue1.swap(queue2);
Output : queue1 = {5, 6, 7, 8}
         queue2 = {1, 2, 3, 4}

Input  : queue1 = {'a', 'b', 'c', 'd', 'e'}
         queue2 = {'f', 'g', 'h', 'i'}
         queue1.swap(queue2);
Output : queue1 = {'f', 'g', 'h', 'i'}
         queue2 = {'a', 'b', 'c', 'd', 'e'}

Errores y excepciones

1. Da error si las colas no son del mismo tipo.
2. De lo contrario, tiene una garantía básica de lanzamiento sin excepción.

// CPP program to illustrate
// Implementation of swap() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // Take any two queues
    queue<char> queue1, queue2;
    int v = 96;
    for (int i = 0; i < 5; i++) {
      queue1.push(v + 1);
      v++;
    }
  
   for (int i = 0; i < 4; i++) {
      queue2.push(v + 1);
      v++;
    }
        
    // Swap elements of queues
    queue1.swap(queue2);
  
    // Print the first queue
    cout << "queue1 = ";
    while (!queue1.empty()) {
      cout << queue1.front() << " ";
      queue1.pop();
   }
  
    // Print the second set
    cout << endl << "queue2 = ";
    while (!queue2.empty()) {
      cout << queue2.front() << " ";
      queue2.pop();
   }
          
    return 0;
}

Producción:

queue1 = f g h i 
queue2 = a b c d e 

Complejidad del tiempo: lineal, es decir, O (n)

Publicación traducida automáticamente

Artículo escrito por AKASH GUPTA 6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *