No encontrado

El concepto de pilas y colas

Adriana Morales

Las pilas y colas son temas que se parecen bastante debido a la naturaleza de su comportamiento, sin embargo, no son términos que se refieran a solo un tipo de estructura, son dos términos referentes a dos estructuras que son distintas a pesar de las semejanzas que se puedan hallar entre estas.

Con la gran variedad de formas para resolver un solo problema no siempre se necesita el mismo método, ni las mismas estructuras dentro de un programa, unas veces el uso de una pila puede llegar a ser más conveniente que el uso de una cola y viceversa, por ello es necesario conocer que es lo que diferencia una de otra.

Pilas

Una pila (stack) es un objeto similar a una pila de platos, donde se puede agregar y sacar datos sólo por el extremo superior, con esto queremos decir que una vez que se agrega un dato a la pila no se puede sacar si hay otros datos que entraron después de este, exactamente como su nombre sugiere es una pila de objetos, en consecuencia, los elementos de una pila se eliminan en el orden inverso al que se insertaron. Debido a esta característica, se le conoce como estructura LIFO (last input, first output).

Colas

Ahora, ya vimos un ejemplo relacionado con la vida real de como son las pilas, y por supuesto también hay cosas para comprender mejor como se almacenan los datos en una cola. Veamos a la cola como una fila de gente para comprar algo, la primera persona que entra en la fila es la primera en salir, ya que se le atiende primero en la tienda (en una fila ordenada en donde la gente no se pueda colar claro). La cola cuenta con dos extremos un frente y una cola A diferencia de las pilas, las colas cuentan con una estructura llamada FIFO (first in first out)

• Colas simples: Se inserta por un sitio y se saca por otro, en el caso de la cola simple se inserta por el final y se saca por el principio. Para gestionar este tipo de cola hay que recordar siempre cual es el siguiente elemento que se va a leer y cuál es el último elemento que se ha introducido.

• Colas circulares: En las colas circulares se considera que después del último elemento se accede de nuevo al primero. De esta forma se reutilizan las posiciones extraídas, el final de la cola es a su vez el principio, creándose un circuito cerrado.