【数媒在线课堂】什么是队列?

【数媒在线课堂】什么是队列?

队列是一种以先进先出(FIFO) 顺序管理元素的数据结构 ------ 最早进入队列的元素会最早被取出。

生活中的队列示例

打印机处理任务时,如果你发送 3 个文档打印,打印机将按接收顺序依次处理:第一个文档先打印,然后是第二个,最后是第三个。

编程中的队列应用

队列常用于需要按顺序处理任务的场景,例如:

Web 服务器将 incoming 请求排队,逐个处理;

聊天应用将消息排队,按输入顺序发送;

导航应用将位置点排队,用于广度优先搜索(BFS) 逐层探索地图。

4 种常见队列类型

简单队列(Simple Queue):仅允许从尾部添加元素、从头部移除元素,严格遵循 FIFO。

循环队列(Circular Queue):与简单队列类似,但尾部元素会 "连接" 到头部,形成循环,可复用空间。

双端队列(Double-Ended Queue,简称 Deque):允许从头部和尾部同时添加或移除元素,类似公交站排队时,人可以从两端进出。

优先队列(Priority Queue):不按到达顺序处理元素,而是按 "优先级" 处理 ------ 优先级高的元素先被处理(如外卖 App 中,VIP 订单优先于普通订单)。

队列的核心操作

所有队列都包含一组基础操作,本教程将重点实现以下常用操作:

enqueue(入队):将元素添加到队列尾部(如顾客排到队伍末尾);

dequeue(出队):移除并返回队列头部的元素;

getFront(获取队首):查看队首元素但不移除(如查看队伍最前面是谁);

getRear(获取队尾):查看队尾元素但不移除(如查看队伍最后是谁);

isEmpty(判空):检查队列是否为空;

isFull(判满):检查队列是否达到最大容量;

peek(预览):与 getFront 功能相同,快速查看队首元素;

size(获取大小):返回队列中的元素数量(如统计队伍人数)。

返回搜狐,查看更多

评论留言