数据结构--队列

  1. 定义

队列是先进先出(FIFO)的线性数据结构,元素从队尾入队,队头出队。

  1. 核心操作

• 入队(enqueue):在队尾添加元素,若队列满则抛出异常或进行扩容。

• 出队(dequeue):删除并返回队头元素,若队列为空则抛出异常。

• 判空(isEmpty):判断队列中是否存在元素。

• 查看队头(peek):返回队头元素但不删除。

• 查看大小(size):获取队列中元素的个数。

  1. 常见实现方式

  2. 数组实现(顺序队列)

◦ 用数组存储元素,维护队头指针front和队尾指针rear。

◦ 存在假溢出问题,可通过循环队列解决。

◦ 循环队列判满:(rear + 1) % capacity == front;判空:front == rear。

  1. 链表实现(链式队列)

◦ 用单链表存储元素,队头指向链表头节点,队尾指向链表尾节点。

◦ 入队、出队操作时间复杂度均为O(1),无需考虑扩容。

  1. 典型应用

• 任务排队(如打印机任务队列、线程池任务队列)

• 广度优先搜索(BFS)

• 消息队列系统

相关推荐
殷忆枫4 小时前
AI笔记三十七:AI边缘端道桥安全监测系统:YOLOv8n推理与Web监控全解析
笔记·yolo
逸模5 小时前
轻加盟模式,稳住品牌统一调性的思路
笔记·建模·公装·翻模·交底
青山木5 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先
不会就选b5 小时前
算法日常・每日刷题--<归并排序>1
数据结构·算法
whyTeaFo5 小时前
GAMES101: Lecture 10: Geometry 1 (Introduction) ppt笔记
笔记
危桥带雨6 小时前
排序算法(快排、归并、计数、基数排序)
数据结构·算法·排序算法
sulikey6 小时前
个人Linux操作系统学习笔记11 - 环境变量
linux·笔记·学习
zephyr056 小时前
数据结构-并查集
数据结构
稚南城才子,乌衣巷风流7 小时前
动态树(Dynamic Tree)数据结构详解
数据结构·算法
依然范特东7 小时前
强化学习笔记2--bellman equation
人工智能·笔记