Structures de données JavaScript: file d'attente

Les files d'attente sont similaires aux piles, sauf que le point d'insertion est différent du point de suppression.

Nous ajoutons à une extrémité de la file d'attente, et nous supprimons de l'autre extrémité.

Cette fois, nous l'appelons First In, First Out (FIFO).

Comme toute file d'attente à laquelle vous pouvez penser, par exemple au restaurant, à la discothèque ou lorsque vous attendez d'entrer dans une salle de concert.

Voici une implémentation possible d'une file d'attente en JavaScript en utilisantchamps de cours privés, en utilisant une baie comme stockage interne:

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
}

Voici comment l'utiliser: vous initialisez d'abord un objet à partir de la classe, puis vous appelez ses méthodes:

  • enqueue()pour ajouter des éléments
  • dequeue()pour sortir un élément de la file d'attente

Exemple:

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

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: