This commit is contained in:
krahets
2023-02-24 18:45:27 +08:00
parent 8f74aa1fad
commit ed43cdf179
44 changed files with 168 additions and 168 deletions

View File

@@ -2,7 +2,7 @@
comments: true
---
# 5.2. 队列
# 5.2.   队列
「队列 Queue」是一种遵循「先入先出 first in, first out」数据操作规则的线性数据结构。顾名思义队列模拟的是排队现象即外面的人不断加入队列尾部而处于队列头部的人不断地离开。
@@ -12,7 +12,7 @@ comments: true
<p align="center"> Fig. 队列的先入先出特性 </p>
## 5.2.1. 队列常用操作
## 5.2.1. &nbsp; 队列常用操作
队列的常用操作见下表,方法名需根据特定语言来确定。
@@ -262,7 +262,7 @@ comments: true
```
## 5.2.2. 队列实现
## 5.2.2. &nbsp; 队列实现
队列需要一种可以在一端添加,并在另一端删除的数据结构,也可以使用链表或数组来实现。
@@ -1628,11 +1628,11 @@ comments: true
以上实现的队列仍存在局限性,即长度不可变。不过这个问题很容易解决,我们可以将数组替换为列表(即动态数组),从而引入扩容机制。有兴趣的同学可以尝试自行实现。
## 5.2.3. 两种实现对比
## 5.2.3. &nbsp; 两种实现对比
与栈的结论一致,在此不再赘述。
## 5.2.4. 队列典型应用
## 5.2.4. &nbsp; 队列典型应用
- **淘宝订单**。购物者下单后,订单就被加入到队列之中,随后系统再根据顺序依次处理队列中的订单。在双十一时,在短时间内会产生海量的订单,如何处理「高并发」则是工程师们需要重点思考的问题。
- **各种待办事项**。任何需要实现“先来后到”的功能,例如打印机的任务队列、餐厅的出餐队列等等。