Published Nov 06 2020
Queues are similar to stacks, except the insertion point is different from the removal point.
We add at one end of the queue, and we remove from the other end.
This time, we call it First In, First Out (FIFO).
Like any queue you can think of, for example at the restaurant, disco or when youβre waiting to enter into a concert hall.
Here is a possible implementation of a queue in JavaScript using private class fields, using an array as the internal storage:
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
}
Hereβs how to use it: you first initialize an object from the class, then you call its methods:
enqueue()
to add itemsdequeue()
to get an item out of the queueExample:
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
I wrote an entire book on this topic π
I also got a super cool course π
© 2023 Flavio Copes
using
Notion to Site.
Follow on Twitter
Solopreneur? Wannabe? Adventure awaits