隊(duì)列與堆棧類似,只是插入點(diǎn)與移除點(diǎn)不同。
我們?cè)陉?duì)列的一端添加,從另一端移除。
這一次,我們稱之為先進(jìn)先出(FIFO)。
就像你能想到的任何隊(duì)列一樣,例如在餐廳、迪廳或者當(dāng)你在等待進(jìn)入音樂廳時(shí)。
這是在JAVAScript中使用私有類字段,使用數(shù)組作為內(nèi)部存儲(chǔ)的隊(duì)列的實(shí)現(xiàn)。
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
}
下面是如何使用它:首先從類中初始化一個(gè)對(duì)象,然后調(diào)用它的方法。
- enqueue() 來添加項(xiàng)目
- dequeue()從隊(duì)列中取出一個(gè)項(xiàng)目。
例如:
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






