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