当前位置: 首页 > news >正文

顺序队列假溢出及链式队列

目录

什么是假溢出?

如何解决?

链式队列的结构

出队举例:

总结


顺序队列(顺序存储的队列)会发生“假溢出”,这是它的一个典型问题。

什么是假溢出?

假溢出指的是:

队列的存储空间还有空闲位置,但由于队头指针已经移动,队尾指针到达了数组末尾,导致无法继续入队。

也就是说,逻辑上有空位,物理上却不能利用,举个例子

假设顺序队列用数组Q[5]存储:

下标: 0 1 2 3 4 ----------------- Q: A B C D E

初始:

front = 0 rear = 5

队列满。

现在连续出队两个元素:

出队 A、B 下标: 0 1 2 3 4 ----------------- Q: 空 C D E front = 2 rear = 5

此时数组前面:

Q[0], Q[1]

已经空出来了,如果继续入队F,按照普通顺序队列的规则:

rear = 5

已经超过数组最大下标,因此认为“队满”。

但实际上:

Q[0]、Q[1]还有空间

所以这就是假溢出

如何解决?

常用方法:采用循环队列(推荐)让数组首尾相连:队尾到末尾后可以回到开头继续存储。

0 → 1 → 2 → 3 → 4 → 0

移动元素:每次出队后把剩余元素向前移动,但效率低,时间复杂度高。

链式队列是指采用链式存储结构实现的队列,通常用单链表表示。它通过指针连接各个结点,不需要连续的存储空间。

链式队列的结构

一个链式队列通常设置两个指针:

  • 队头指针 front:指向队头结点(出队位置)
  • 队尾指针 rear:指向队尾结点(入队位置)

结构如下:

front rear ↓ ↓ [数据|next] → [数据|next] → [数据|null]

出队举例:

原来的链式队列:

front ↓ [A] → [B] → [C] → NULL ↑ rear

操作步骤:保存原 front 结点.front 后移:

p = front front = front->next

此时:

front ↓ [B] → [C] → NULL ↑ rear

释放原来的 A:

free(p)

所以新的 front 就是原来 front 的下一个结点

front 是一个指针变量,它自己有地址 &front
p 是一个指针变量,它自己有地址 &p
它们里面存的是节点的地址

总结

队列类型会不会假溢出
普通顺序队列✅ 会
循环队列❌ 不会
链式队列❌ 不会(只受内存限制)

顺序队列存在“假溢出”问题,循环队列用于解决假溢出。

http://www.jsqmd.com/news/1339995/

相关文章:

  • Unity URP性能优化实战:从原理到实践的全方位指南
  • 终极指南:用 palworld-save-tools 轻松玩转帕鲁世界存档编辑
  • Hadoop集群一键部署指南与自动化实践
  • Docker+K8s+Jenkins 构建云原生 DevOps 全链路能力体系
  • 2026年成都纪念品怎么选?性价比一目了然! - 市场沸点
  • 知名全网SEO优化服务商推荐:传声港GEO,以十年媒体底蕴构筑AI时代品牌** - GEORANK
  • 迪士尼进军短内容创作:与 TikTok 合作,美试点后拓展全球,创作者福利多多!
  • C++字符界面飞机大战:面向对象设计与游戏循环实践
  • 55项功能终极整合:HsMod如何解决你的炉石传说三大核心痛点
  • 光敏PN结原理与应用:从光伏效应到高速光电探测电路设计
  • 新手向 OpenClaw 部署教程,Windows 端可视化安装与常见报错处理(含安装包)
  • 2026 年 08 月消防备考避坑,消防设施操作员刷题 APP 横向测评 - 甄选测评馆
  • Bun 从 Zig 到 Rust:AI 辅助大规模代码重写的技术实践
  • Steam游戏自动破解终极指南:3分钟掌握完整破解流程
  • 企业部署外呼系统完整流程|新手落地实操与注意事项
  • Linux上的B站自由:bilibili-linux客户端全功能体验指南
  • AI 安全的下一个 5 年:从 Agent 到 AGI 的攻防博弈
  • 主流新闻媒体发稿渠道如何选择?传声港以十年沉淀与AI架构,重塑品牌GEO时代**高地 - GEORANK
  • 2026年8月西安维修店铺线上接单优化趋势研判
  • 2026年海外留学生中文论文降AI攻略:中文论文AIGC超标4.8元快速达标完整方案 - 还在做实验的师兄
  • 最小可运行示例:用 curl 跑通疯狂星期四文案 API
  • 3分钟解锁完整游戏体验:Wand-Enhancer免费增强指南
  • 2026江苏省基础研究计划|高分答辩PPT设计美化
  • Howland电流泵:从原理到实践的精密压控电流源设计指南
  • 2026 年 08 月消防刷题软件测评,设施操作员备考题库避坑要点 - 甄选测评馆
  • Unity实时软体动力学模拟:角色头发与装饰物物理效果优化实践
  • 如何零基础掌握tsMuxer:视频无损封装的终极指南
  • SQL盲注攻击:从布尔盲注到时间盲注的完整实战指南
  • 2026下半年 Vue3 与 React 技术方向与发展预判
  • AI一键成片教程,新手也可用