Qué es queue y cómo funciona FIFO

Clase 22 de 29Curso de Estructuras de Datos con JavaScript

Resumen

Domina la estructura de datos queue con una guía práctica y directa. Entiende por qué su principio FIFO: primero en llegar, primero en salir resuelve problemas cotidianos y cómo se diferencia de un stack. Además, aclara qué hacen enqueue, dequeue y peek para pensar en una implementación limpia y ordenada.

¿Qué es una queue y por qué importa?

Una queue funciona con orden de llegada: el primero en entrar es el primero en salir. A diferencia de un stack, donde el último que entra es el primero que sale, aquí se respeta la fila. Visualízalo como una fila de muñequitos camino al baño: no sería correcto que el elefante desde atrás pase primero; el rinoceronte diría: “Ey, dude, yo llegué primero”. Esa es la esencia de la queue.

  • Queue: fila donde se atiende primero a quien llegó primero.
  • Stack: pila donde se atiende al último que llegó primero.
  • FIFO: comportamiento central de la queue.
  • LIFO: comportamiento del stack.
  • Top y bottom: en queue no escoges desde el bottom; todo entra atrás y sale por el frente.

Esta lógica también aplica a datos: cuando estructuras una lista tipo queue, respetas el orden de llegada para agregar, mirar y retirar elementos.

¿Qué operaciones definen una queue?

Las operaciones base mantienen el orden justo de la fila y te dan control sobre cómo entra y sale la información.

¿Cómo funciona el enqueue?

Agrega un elemento al final de la línea. Si ya tienes un primer elemento (el que ocupa el top de la fila), el siguiente debe formarse atrás. No reemplaza al primero ni se cuela: se añade al final, como en cualquier fila.

¿Cómo funciona el dequeue?

Remueve el primer elemento de la línea. A diferencia del stack, donde quitas el último que llegó, en queue atiendes a quien lleva más tiempo esperando. Es la “siguiente persona” en recibir el servicio.

¿Qué hace el peek?

Permite mirar el primer elemento de la queue. En lugar de ver el último agregado, como en un stack, aquí inspeccionas quién llegó primero, sin retirarlo aún.

  • Enqueue: agregar al final de la fila.
  • Dequeue: quitar del frente de la fila.
  • Peek: ver el primer elemento que entró.

¿Cómo aplicar la lógica en código?

Para implementarla, ajusta lo que ya sabes de stacks: cambia dónde agregas y de dónde sacas. En queue, todo lo nuevo se forma atrás y todo lo que sale viene del frente. Con esos pequeños cambios, la estructura queda casi lista.

Toma el reto: intenta construir tu queue, baja la lógica a código y compártelo en comentarios para revisarlo. En la siguiente sesión, se arma una lista queue paso a paso. ¿Cómo lo implementarías tú y qué estructura usarías para modelar la fila?