前言
队列是一种先进先出(FIFO)的数据结构,它有两个主要操作:入队(enqueue)和出队(dequeue)。队列中的元素只能通过队尾入队,只能通过队头出队。
队列的特点
- 只能在队尾添加元素,在队首删除元素。
- 先进先出的原则。
- 适用于需要按照时间顺序处理的场景。
队列的常用方法
- enqueue(item): 向队列尾部添加一个或多个新的项。
- dequeue(): 移除队列的第一个项,并返回被移除的元素。
- head(): 返回队列第一个元素,队列不做任何变动。
- tail(): 返回队列最后一个元素,队列不做任何变动。
- isEmpty(): 队列内无元素返回 true,否则返回 false。
- size(): 返回队列内元素个数。
- clear(): 清空队列。
代码实现
队列的本质是数组,所以队列的方法就是对数组的再次封装
class QUEUE {constructor() {this.queue = [];}enqueue(val) {this.queue.push(val);}dequeue() {this.queue.shift();}head() {return this.queue[0];}tail() {return this.queue[this.queue.length-1];}isEmpty() {return this.queue.length > 0 ? true : false;}size() {return this.queue.length;}clear() {return this.queue = []}
}export default QUEUE;