Queue
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.
En este artículo hablaremos de la cola (Queue), tiene el comportamiento contrario a la pila. Todo nuevo
elemento se agrega al principio de la colección y solo se puede extraer el
ultimo elemento. Por esta razón, la cola se conoce como una colección FIFO
(Fisrt Input First Output) ya que el primer elemento que ingresa a la cola es
el primer elemento que sale. Para recordar este comportamiento se puede asociar
la Queue con la fila que se debe hacer en un banco para realizar una
consignación. En ese caso, el cajero atiende en el orden en que llegan las
personas a la cola.
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
Crearemos un método como para el ejemplo de las colas
Verificando que la instrucción Enqueue la cola se
carga
Para remover algún valor se utiliza la instrucción
Dequeue
La salida de la pantalla seria la siguiente: