2024-11-17 日报 Day9
今日的鸡汤
少年应有鸿鹄志,当骑骏马踏平川。
今日学习内容
1、《JavaScript数据结构与算法》 P79-88
今日笔记
1、队列是一种遵循先进先出(FIFO)原则的有序集合。队列在尾部添加新元素,并从顶部移除元素。最新添加的元素必须排在队列的末尾。
- enqueue(element(s)):向队列尾部添加一个(或多个)新的项。
- dequeue():移除队列的第一(即排在队列最前面的)项,并返回被移除的元素。
- front():返回队列中第一个元素——最先被添加,也将是最先被移除的元素。队列不做任何变动(不移除元素,只返回元素信息——与Stack类的peek方法非常类似)。
- isEmpty():如果队列中不包含任何元素,返回true,否则返回false。
- size():返回队列包含的元素个数,与数组的length属性类似。
2、普通队列类实现1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25class Queue {
constructor() {
this.items = [];
}
enqueue(element) {
this.items.push(element);
}
dequeue() {
return this.items.shift();
}
front() {
return this.items[0];
}
isEmpty() {
return this.items.length === 0;
}
size() {
return this.items.length;
}
}
数据结构总结
队列: 先进先出(FIFO)
方法包含: enqueue, dequeue, front, isEmpty, size
应用: 任务队列,因为每个标签页都是单线程处理的,它被称为事件循环。