Estructuras de datos de JavaScript: cola

Las colas son similares a las pilas, excepto que el punto de inserción es diferente del punto de eliminación.

Agregamos en un extremo de la cola y eliminamos del otro extremo.

Esta vez, lo llamamos Primero en entrar, primero en salir (FIFO).

Como cualquier cola que se te ocurra, por ejemplo, en el restaurante, la discoteca o cuando estás esperando para entrar en una sala de conciertos.

Aquí hay una posible implementación de una cola en JavaScript usandocampos de clases privadas, usando una matriz como almacenamiento interno:

class Queue {
  #items = []
  enqueue = (item) => this.#items.splice(0, 0, item)
  dequeue = () => this.#items.pop()
  isempty = () => this.#items.length === 0
  empty = () => (this.#items.length = 0)
  size = () => this.#items.length
}

Aquí se explica cómo usarlo: primero inicializa un objeto de la clase, luego llama a sus métodos:

  • enqueue()para agregar elementos
  • dequeue()para sacar un artículo de la cola

Ejemplo:

const queue = new Queue()
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
queue.size() //3

queue.dequeue() //1
queue.dequeue() //2
queue.dequeue() //3

Más tutoriales de js: