Qué es una pila y una cola
Si apilas platos uno encima de otro, ¿cuál sacas primero? El de arriba, el que pusiste al final. Si hay gente haciendo fila, ¿quién entra primero? El de adelante, el que llegó primero. Para manejar datos existen estas mismas dos maneras: apilar se llama pila, y hacer fila se llama cola.
Apilar como platos: la pila
En la lección anterior vimos cómo colocar datos en una fila. Esta vez, en lugar de colocarlos uno al lado de otro, vamos a apilarlos.
Piensa en una pila de platos. El plato nuevo siempre va arriba, y también se saca de arriba. Por eso, el último plato que pusiste es el primero que llega a tu mano.
Toca para poner un plato arriba y luego toca sacar. Siempre sale primero el de arriba, el último que pusiste.
Cada vez que sacaste uno, salió primero el que acababas de poner. Lo último que entra es lo primero que sale: esa es la promesa de una pila.
Solo hay un lugar para meter y sacar, la parte de arriba, así que la regla es muy sencilla. Meter se llama apilar y sacar se llama desapilar. Un poco más adelante veremos para qué sirve una regla tan simple.
Hacer fila: la cola
Esta vez, en lugar de apilar, vamos a poner las cosas en fila. Piensa en la fila para tomar el autobús. Quien llega se pone al final, y cuando viene el autobús se sube desde adelante.
Así, quien llegó primero entra primero: justo lo contrario de apilar. Una fila en la que se entra por atrás y se sale por adelante se llama cola.
Toca para poner a una persona al final de la fila y luego toca dejar salir. Siempre sale primero la de adelante, la que llegó primero.
Cada vez que dejaste salir a alguien, salió primero quien más había esperado. Lo primero que entra es lo primero que sale: esa es la promesa de una cola.
Como se entra por atrás y se sale por adelante, el orden de llegada se respeta tal cual. Eso garantiza turnos justos, sin que nadie se cuele. En una pila sale primero lo último en llegar; en una cola, lo primero en llegar.
La pila sirve para deshacer
Cuando te equivocas al escribir y pulsas deshacer, lo que acabas de hacer se cancela primero, y lo que hiciste antes se cancela después.
El programa va apilando tus acciones en orden y luego las saca desde arriba, empezando por la última, para cancelarlas una por una. Eso es una pila. El botón de atrás del navegador funciona igual, apilando las páginas que has visitado, y cuando un programa llama a funciones, la computadora también apila las llamadas en orden.
Toca para apilar acciones y luego toca deshacer. La última acción que hiciste se cancela primero, y luego las demás en orden.
Cada vez que pulsaste deshacer, desapareció primero la acción más reciente. Cuando hay que rebobinar un orden hacia atrás, nada encaja tan bien como una pila, porque sacar primero lo último que entró es justamente rebobinar.
Entonces, ¿qué conviene usar cuando hay que respetar el orden tal como llegaron las cosas, sin invertirlo?
La cola sirve para las listas de espera
¿Qué pasa cuando varias personas mandan documentos a una misma impresora? El documento que se envió primero se imprime primero, y los demás esperan detrás. Esto es una cola de impresión.
Los turnos numerados de un banco funcionan igual: el número que se sacó primero es el primero en ser llamado. Atender las cosas con justicia en el orden de llegada es justo lo que hace una cola.
Toca para poner un documento en la cola de impresión y luego toca imprimir. El que se envió primero se atiende primero, y luego los demás en orden.
Cada vez que pulsaste imprimir, salió el documento que se había enviado antes. Cuando hay que respetar un orden tal cual, nada supera a una cola, porque sacar primero lo primero que entró es lo que aquí significa ser justo.
Con los mismos datos, una sola regla sobre cómo se sacan las cosas cambia así su uso. Ahora pongamos las dos lado a lado y resumamos.
En resumen
En pocas palabras: una pila es apilar platos, así que lo último que entra sale primero. Una cola es hacer fila, así que lo primero que entra sale primero.
Deshacer y el botón de atrás son pilas; las listas de espera y los turnos numerados son colas. Una sola regla sobre cómo meter y sacar decide el uso. Basta con recordar esto: en una pila sale primero lo último; en una cola, lo primero.
Toca en orden los puntos clave para repasar. (apilar: pila → hacer fila: cola → la pila para deshacer → la cola para esperar turno)
Ahora ya conoces dos maneras de manejar datos: apilarlos y ponerlos en fila. Con solo decidir por dónde entran y salen, los mismos datos se convirtieron en herramientas completamente distintas.
Hasta ahora vimos recipientes que guardan datos dentro de un programa. La próxima lección presenta la base de datos, un almacén enorme que guarda muchísimos datos durante mucho tiempo, para que no desaparezcan cuando se apaga un programa.