-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
概念:
队列和栈十分相似,他们都是线性表,元素都是有序的,不同之处是,队列遵循的是 FIFO(先进先出)的原则。
队列从尾部添加新元素,从顶部移除元素,最新添加的元素排在队列的末尾。
理解:
队列在生活中最常见的例子就是排队了,先进入队列的先接受服务,后进入队列的排在队列后面。
队列的模拟:
class Queue {
constructor() {
this.item = [];
}
// 添加一个(或几个)新元素到队列尾部
enqueue(element) {
items.push(element);
}
// 移除队列的第一个元素,并返回被移除的元素
dequeue() {
return items.shift();
}
// 返回队列第一个元素,但不对队列做修改
front() {
return items[0];
}
// 判断是否为空队列(没有任何元素)
isEmpty() {
return items.length === 0;
}
// 返回队列里的元素个数
size() {
return items.length;
}
// 清空队列
clear() {
items = [];
}
}Metadata
Metadata
Assignees
Labels
No labels