JavaScript数据结构:队列

JavaScript数据结构:队列

队列与堆栈相似,只是插入点与删除点不同。

我们在队列的一端进行添加,从另一端进行删除。

这次,我们调用先入先出(FIFO)。

就像你能想到的任何队列一样,比如在餐厅、迪斯科舞厅或等待进入KTV时。

下面是JavaScript中使用私有类字段的队列的可能实现,使用数组作为内部存储:

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
}

下面是如何使用它:你首先从类中初始化一个对象,然后调用它的方法:

  • enqueue()用于添加项
  • dequeue()从队列中获取一个项

实现案例:

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

原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/5178.html

发表评论

登录后才能评论