stacks queues stl
Aprenda la implementación de pilas y colas en STL con ejemplos.
Las pilas y las colas son dos contenedores en STL que son de naturaleza muy básica. Son los contenedores más simples que tienen amplias aplicaciones en programación de software.
En este tutorial, veremos una implementación detallada de ambos contenedores en STL. También repasaremos las diversas operaciones compatibles con la pila y la cola con ejemplos.
=> Tenga cuidado con la serie de capacitación simple de C ++ aquí.
Lo que vas a aprender:
Pilas
El contenedor de pila en STL es un tipo de adaptadores de contenedor. Se utiliza para replicar una estructura de datos de pila en C ++. El contenedor de pila es un conjunto de elementos en el que los elementos se insertan en un extremo y también se eliminan en el mismo extremo.
Este punto común de adición y eliminación se conoce como 'Top of the stack'.
La representación pictórica de la pila se muestra a continuación.
Como se muestra en la representación anterior, la pila es un contenedor en el que se agregan y eliminan elementos del mismo extremo llamado Parte superior de la pila.
Dado que la suma y la eliminación ocurren en el mismo extremo, podemos decir que el contenedor de pila es del tipo de trabajo LIFO (último en entrar, primero en salir). Esto significa que el elemento agregado primero será el último en ser eliminado.
Para implementar el contenedor de pila, necesitamos incluir el encabezado en nuestro programa.
|_+_|La sintaxis de declaración general para el contenedor de pila es:
|_+_|Operaciones de pila
A continuación, analicemos las diversas operaciones que apilan el contenedor en los soportes STL.
- empujar : la operación push se utiliza para insertar un elemento en la pila. Esta operación siempre agrega elementos en la parte superior de la pila.
Considere una pila vacía mystack de tipo entero .
A continuación, agreguemos el elemento 1 a la pila.
Luego, agregamos el elemento 3 a la pila.
Según la representación, como resultado de una operación de empuje, se agrega un elemento en la parte superior de la pila. Después de cada operación de empuje, el tamaño de la pila aumenta en 1.
- pop : la operación pop se utiliza para eliminar un elemento de la pila. El elemento eliminado es el que señala la parte superior de la pila. Como resultado de la operación pop, el tamaño de la pila se reduce en 1.
Veamos cómo se ve la operación pop:
Considere la pila mystack como arriba en la que ya hemos insertado 2 elementos.
Ahora llamemos a la función pop (). Cuando se ejecuta esta llamada, el elemento en la parte superior de la pila se elimina y 'Top' apunta al siguiente elemento como se muestra a continuación.
Si volvemos a llamar a pop (), el siguiente elemento (en este caso 1) se eliminará, lo que dará como resultado una pila vacía.
implementando una pila c ++
- cima : Devuelve el elemento superior de la pila.
- vacío : Comprueba si la pila está vacía o no.
- Talla: Devuelve el tamaño de la pila, es decir, el número de elementos de la pila.
A continuación se muestra un ejemplo de implementación de Stack para comprender mejor las operaciones.
|_+_|
El ejemplo anterior muestra claramente la operación de inserción que genera una pila. También muestra la pila después de dos operaciones emergentes consecutivas.
Por lo tanto, hemos visto la pila y sus operaciones en STL. Además, en este tutorial, veremos la implementación detallada de otro contenedor STL simple que es 'Cola'.
Cola
La cola es otro contenedor en STL que también es muy simple y útil. El contenedor de cola es una réplica de la estructura de datos de la cola en C ++. A diferencia de la pila, en el contenedor de la cola, hay dos extremos, es decir, el frente y el reverso.
Los elementos se agregan a la cola en la parte posterior mientras que se eliminan del frente de la cola. En general, la cola utiliza el tipo de disposición FIFO (primero en entrar, primero en salir).
Para implementar un contenedor de cola en un programa, tenemos que incluir un encabezado en el código.
|_+_|La sintaxis general para la declaración de la cola es:
cola nombre_cola;
Declaramos el contenedor de cola de la siguiente manera:
qué programa abrirá un archivo eps|_+_|
Operaciones en cola
Ahora veremos las distintas operaciones que admite la cola.
- empujar: La función 'empujar' agrega el elemento al final de la cola, es decir, al final de la cola.
- pop: La función 'pop' elimina el primer elemento de la cola, es decir, el elemento al principio de la cola.
Entendamos las funciones push y pop de la cola.
Considere una cola vacía declarada encima de myqueue. Ahora empujamos un número par 2 en la cola con la operación
myqueue.push (2);
Ahora la cola se verá así:
A continuación, agregamos '4' a la cola con la llamada 'myqueue.push (4)'.
Ahora la cola se ve como se muestra a continuación:
Como se vio arriba, los elementos se introducen en la cola desde la parte trasera o desde atrás.
Ahora hagamos estallar la operación en myqueue.
myqueue.pop();
Entonces, como vemos, cuando se llama a pop (), se elimina el elemento al frente de la cola. Esto significa que el primer elemento que se ingresa a la cola es el primer elemento que sale de la cola.
- parte delantera: Esta función devuelve una referencia al primer elemento de la cola.
- espalda: Atrás devuelve una referencia al último elemento de la cola.
- vacío: Comprueba si la cola está vacía.
- Talla: Devuelve el tamaño de la cola, es decir, el número de elementos en la cola.
A continuación se muestra un programa de ejemplo que demuestra las operaciones utilizadas por el contenedor de cola.
|_+_|Producción:
La cola myqueue es: 2 4 6 8
myqueue.size (): 4
myqueue.front (): 2
myqueue.back (): 8
myqueue.pop() : 4 6 8
Como se muestra arriba, primero declaramos un contenedor de cola. Luego, usando la operación push, agregamos los primeros cuatro números pares. Después de eso, sacamos el elemento de la cola y mostramos la cola cambiada.
Conclusión
Con esto, llegamos al final de este tutorial sobre pilas y colas. Como ya se mencionó estos son los contenedores más simples que tenemos en STL. Otra variación del contenedor de cola se conoce como 'Cola de prioridad'.
En nuestro próximo tutorial, discutiremos más sobre Priority Queue en STL !!
=> Visite aquí para aprender C ++ desde cero.