特点:先进先出(也叫FIFO:First In First Out)
结构图:
这跟我们生活中的排队买票很像:谁先排在前面,谁先买票 .
队列常见的操作
- enqueue(el) : 向队列尾部添加一个新的项。
- dequeue(): 移除队列的第一项,并返回被移除的元素。
- front() :返回队列中的第一个元素,队列不做任何变动。
- isEmpty() :如果队列中不包含任何元素返回 true,否则返回 false。
- size() :返回队列包含的元素个数。
- toString(): 将队列中的内容转成字符串形式。
代码实现
class Queue {
constructor() {
this.items = [];
}
// 入队
enqueue(item) {
this.items.push(item);
}
// 出队
dequeue(item) {
return this.items.shift();
}
//队列第一个元素
front() {
return this.items[0];
}
// 队列是否空
isEmpty() {
return this.items.length === 0
}
//队列大小
size