logo

Cola en la biblioteca de plantillas estándar (STL) de C++

Las colas son un tipo de adaptadores de contenedores que operan en un tipo de disposición primero en entrar, primero en salir (FIFO). Los elementos se insertan en la parte posterior (final) y se eliminan en el frente. Las colas utilizan un objeto encapsulado de deque o lista (clase contenedora secuencial) como su contenedor subyacente, proporcionando un conjunto específico de funciones miembro para acceder a sus elementos.

A continuación se muestra un ejemplo para demostrar la cola y sus diversos métodos.



CPP

cómo bloquear anuncios de youtube en android






// CPP code to illustrate Queue in> // Standard Template Library (STL)> #include> #include> using> namespace> std;> // Print the queue> void> showq(queue<>int>>gq)> {> >queue<>int>>g = gq;> >while> (!g.empty()) {> >cout <<>' '> << g.front();> >g.pop();> >}> >cout <<>' '>;> }> // Driver Code> int> main()> {> >queue<>int>>gquiz;> >gquiz.push(10);> >gquiz.push(20);> >gquiz.push(30);> >cout <<>'The queue gquiz is : '>;> >showq(gquiz);> >cout <<>' gquiz.size() : '> << gquiz.size();> >cout <<>' gquiz.front() : '> << gquiz.front();> >cout <<>' gquiz.back() : '> << gquiz.back();> >cout <<>' gquiz.pop() : '>;> >gquiz.pop();> >showq(gquiz);> >return> 0;> }>



>

>

Producción

The queue gquiz is : 10 20 30 gquiz.size() : 3 gquiz.front() : 10 gquiz.back() : 30 gquiz.pop() : 20 30>

Los métodos de cola son:

java matemáticas.min

La complejidad temporal y la definición de las siguientes funciones son las siguientes:

cola::vacía() O(1)
cola::tamaño() O(1)
cola::lugar() O(1)
cola::frente() O(1)
cola::atrás() O(1)
cola::empujar(g) O(1)
cola::pop() O(1)
Método Definición
cola::vacía() Devuelve si la cola está vacía. Devuelve verdadero si la cola está vacía; de lo contrario, devuelve falso.
cola::tamaño() Devuelve el tamaño de la cola.
cola::intercambio() Intercambie el contenido de dos colas, pero las colas deben ser del mismo tipo de datos, aunque los tamaños pueden diferir.
cola::lugar() Inserte un nuevo elemento en el contenedor de la cola, el nuevo elemento se agrega al final de la cola.
cola::frente() Devuelve una referencia al primer elemento de la cola.
cola::atrás() Devuelve una referencia al último elemento de la cola.
cola::empujar(g) Agrega el elemento 'g' al final de la cola.
cola::pop() Elimina el primer elemento de la cola.

Programa C++ para algunos métodos más

C++




// CPP code to illustrate Queue operations in STL> // Divyansh Mishra -->divyanshmishra101010> #include> #include> using> namespace> std;> // Print the queue> void> print_queue(queue<>int>>q)> {> >queue<>int>>temperatura = q;> >while> (!temp.empty()) {> >cout << temp.front()<<>' '>;> >temp.pop();> >}> >cout <<>' '>;> }> // Driver Code> int> main()> {> >queue<>int>>q1;> >q1.push(1);> >q1.push(2);> >q1.push(3);> >cout <<>'The first queue is : '>;> >print_queue(q1);> > >queue<>int>>q2;> >q2.push(4);> >q2.push(5);> >q2.push(6);> >cout <<>'The second queue is : '>;> >print_queue(q2);> > > >q1.swap(q2);> > >cout <<>'After swapping, the first queue is : '>;> >print_queue(q1);> >cout <<>'After swapping the second queue is : '>;> >print_queue(q2);> > >cout

índice de lista
>

>

Producción

The first queue is : 1 2 3 The second queue is : 4 5 6 After swapping, the first queue is : 4 5 6 After swapping the second queue is : 1 2 3 0>

Las complejidades temporales y espaciales de las operaciones en este código son las siguientes:

función print_queue:

Complejidad del tiempo: O (n), donde n es el número de elementos en la cola.
Complejidad del espacio: O (n), donde n es el número de elementos en la cola.
q1.push(1), q1.push(2), q1.push(3), q2.push(4), q2.push(5), q2.push(6):

Complejidad del tiempo: O (1) para cada operación de inserción.
Complejidad del espacio: O (n), donde n es el número total de elementos en ambas colas.
q1.intercambio(q2):

Complejidad temporal: O (1) para cada operación de intercambio.
Complejidad del espacio: O(1), ya que esta operación solo intercambia los punteros internos de las dos colas.
q1.vacío():

convertir int a cadena en java

Complejidad del tiempo: O(1), ya que esta operación simplemente verifica si la cola está vacía.
Complejidad del espacio: O(1), ya que no se utiliza espacio adicional para esta operación.
En general, las complejidades de tiempo y espacio de este código son razonables y eficientes para casos de uso típicos.

Artículos recientes sobre la cola de C++