Stack
Las pilas (Stack) y las colas (Queue) son dos colecciones muy similares
entre si ya que solo varia la forma en que guardan y extraen los elementos que
contienen. En ciertas cosas estas dos colecciones se parece a un ArrayList,
como por ejemplo que soporta el redimensionamiento automático y que los
elementos son almacenados como objetos (System.Object). Pero también tienen
algunas diferencias, como por ejemplo que no se puede cambiar su capacidad y no
se puede acceder a sus elementos a través de índices
En algunas ocasiones, es importante tener un control sobre el orden en que
los elementos son ingresados y obtenidos de la colección. Por esta razón
existen las colecciones Stack y Queue. Como se menciono anteriormente, en estas
colecciones NO es posible acceder aleatoriamente mediante índices a sus
elementos, sino que es necesario utilizar un método encargado de extraer un
elemento a la vez. Pero cual elemento?. Precisamente en la respuesta a esa
pregunta radica la diferencia entre estas dos colecciones.
La pila (Stack), es una colección en la que todo nuevo elemento se ingresa
al final de la misma, y únicamente es posible extraer el ultimo elemento de la
colección. Por este comportamiento, el Stack es conocido como una colección
LIFO (Last Input Fisrt Output) ya que siempre el ultimo elemento ingresado a la
colección, será el primero en salir. Quizás la mejor manera de recordar el
comportamiento de un Stack, es asociándolo con una “pila” de platos en donde
cada plato esta encima del otro y en caso de querer ingresar un plato a la
pila, lo que se debe hacer es ponerlo encima del ultimo plato. Luego cuando se
quiere sacar un plato de la pila, solo podemos coger el ultimo plato.
DEMOSTRACIÓN
En Visual Studio vamos a dar click en menú File à New à Project
En la Ventana emergente le damos click a Window, seleccionamos la opción “Console Application” y espacio Name colocamos el nombre del proyecto que para el Ejemplo es “Demo 3 20483” y luego presionamos el botón OK
Seguimos con el ejemplo de las pilas
hacemos llamado al procedimiento de la pila
Verificando que la instrucción Push la cola se carga
Para remover algún valor se utiliza la instrucción Pop
La salida de la pantalla seria la siguiente: