Imprimir todos los elementos de una cola en STL C ++

C ++ STL | imprimir todos los elementos de una cola : Aquí, vamos a aprender cómo imprimir todos los elementos de una cola en STL C ++ ?

Para imprimir todos los elementos de una cola de , seguimos los siguientes pasos:

  1. ejecuta un bucle hasta “cola no está vacía” .
  2. Imprimir el primer elemento (el más antiguo) mediante el uso de colas :: frontal () método
  3. Retire el elemento más antiguo ( realizar “pop” operación para extraer el elemento)

Nota: Este proceso eliminará todos los elementos de la cola también. La manera eficiente se discute a continuación.

1) Forma normal

#include <iostream>
#include <queue>
using namespace std;
//Main fubction
int main()
{
// declaring an empty queue
queue<int> Q;
//inserting elements
Q.push(10);
Q.push(20);
Q.push(30);
cout<<"Queue size before printing the elements: "<<Q.size()<<endl;
cout<<"Queue element are..."<<endl;
while(!Q.empty()){
cout<<" "<<Q.front();
Q.pop();
}
cout<<endl;
cout<<"Queue size after printing the elements: "<<Q.size()<<endl;
return 0;
}

salida

Queue size before printing the elements: 3 
Queue element are...
10 20 30
Queue size after printing the elements: 0

Nota: Ver la salida, después de la impresión de los todos los elementos del tamaño de la cola de es 0 que significa que todos los elementos se han reventado.

2) forma eficiente

Aquí, podemos crear una copia de la cola y el uso que la cola de copiado para imprimir los elementos y la otra mejor manera es crear una llamada de función (usando por valor) para imprimir la cola, ya que sabemos que la función toma la copia de la variable y los cambios que ocurrió con la variable de función no afectan a las variables reales.

#include <iostream>
#include <queue>
using namespace std;
//function to print the queue
void printQueue(queue<int> q)
{
//printing content of queue
while (!q.empty()){
cout<<" "<<q.front();
q.pop();
}
cout<<endl;
}
//Main fubction
int main()
{
// declaring an empty queue
queue<int> Q;
//inserting elements
Q.push(10);
Q.push(20);
Q.push(30);
cout<<"Queue size before printing the elements: "<<Q.size()<<endl;
cout<<"Queue element are... "<<endl;
printQueue(Q);
cout<<"Queue size after printing the elements: "<<Q.size()<<endl;
return 0;
}

salida

Queue size before printing the elements: 3 
Queue element are...
10 20 30
Queue size after printing the elements: 3


Deja un comentario

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