news 2026/4/18 5:27:29

栈和队列的实现以即相应QJ题的总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
栈和队列的实现以即相应QJ题的总结

1.首先对顺序表以及链表的区别总结

顺序表链表
物理空间连续物理空间不连续
支持使用下标随机访问不支持随机访问
任意位置的插入删除效率低O(N)任意位置的插入删除效率高O(1)
扩容方法容易造成浪费按需扩容
缓存利用率高缓存利用率低

对缓存利用率的理解:

CPU处理内存中的数据有两种方式

(1)处理寄存器从内存中获取的数据 (一般是几个字节大小)

(2)内存到CPU过程中还可以通过缓存路线运输

内存的数据通过三层缓存加工,最后在第三层被CPU处理(常用于处理大数据)

从内存到缓存的数据运输是从要使用的数据开始之后的一段数据(不管是否要使用)

如果后面的数据有用就使用,不然就从新的数据段开始运输.

因此,顺序表由于空间上连续,缓存段中的有效数据多,因此缓存利用率高.

链表由于空间上不连续,缓存段中的有效数据少,因此缓存利用率低.

正篇开始

1.queue的实现

queue遵循尾进头出,因此采用链表的方式实现

为保证时间复杂度的最小,我们需要对链表的头和尾进行保存同时对大小进行管理,因此考虑使用struct 进行统一管理.

结点的创建

对象的设计

所有成员的申明

成员的实现

栈的实现

遵序头进头出,露头就秒

节点申明

成员申明

top如果想要指向最后一个元素,top = -1 的初始化才对.

但此处我们更想要top 有size的效果,因此要top = 0,但此时top就指向最后一个元素的下一位了.

下面是三道题,使用的队列和栈与上面的完全相同

1.使用两个队列实现栈

解法:先将数全部push 到一个队列中,然后将size - 1 个放进另一个队列中,剩下的一个就是stack的第一个.

代码

针对于pop和top,可以采用假设法

不断的试错后,我明白了,如果只是对指针内部成员进行修改,一级指针即可,二级指针一般出现在需要获取一级指针地址或要修改一级指针指向的时候.

用栈生成队列

解法:一个栈作为push,一个作为pop.pop完了再push.

最后一题,循环队列

解法:设计k+1个位置,使用%操作来进行循环

对于循环的再补充啊

a % N ,N的大小取决于循环圈的大小,N与循环圈等大,为了最后一位N-1到N位越界时%N为0到第一位.

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 18:45:35

百考通AI任务书功能:智能生成贴合你研究方向的专业任务书,规范高效一步到位

毕业设计任务书是高校教学流程中承前启后的关键环节——它不仅是选题的正式确认,更是后续研究、开发与论文撰写的行动纲领。然而,许多学生在撰写时常常陷入“有想法却写不出”“懂技术但不会表达”“找模板又不匹配”的困境,导致内容空泛、结…

作者头像 李华
网站建设 2026/4/6 12:18:39

Chrome 自动填充“用户名”到普通输入框 - 解决方案

Chrome 自动填充“用户名”到普通输入框?我被 Seller ID 坑了一天 简介 在后台系统或业务表单中,我们经常会遇到一些完全不是登录账号的字段,却被 Chrome 强行自动填充为浏览器保存的用户名或邮箱。 本文将以 Seller ID 输入框被 Chrome 自动…

作者头像 李华
网站建设 2026/4/15 14:58:22

效率革命----Browser-Use 与 Cline:昨天,AI 终于学会了“自己操作电脑” [特殊字符]️

摘要:你是否想过,AI 不应该只在对话框里陪你聊天,而应该帮你去买票、填表、修 Bug?昨天 GitHub 上最火的两个 Agent 项目——Browser-Use(让 AI 控制浏览器)和 Cline(让 AI 控制 VS Code),正在把“全自动工作流”变成现实。本文手把手教你配置这两个神器,解放双手。 …

作者头像 李华
网站建设 2026/4/11 19:20:34

救命神器!专科生必用8款AI论文工具测评TOP8

救命神器!专科生必用8款AI论文工具测评TOP8 为什么专科生需要这份AI论文工具测评? 随着人工智能技术的不断进步,越来越多的专科生开始借助AI工具提升论文写作效率。然而,面对市场上五花八门的AI论文辅助软件,如何选择真…

作者头像 李华
网站建设 2026/4/14 2:19:17

从入门到进阶:VitePress 构建高效静态站点全指

在静态站点生成器(SSG)领域,VitePress 凭借其极致的性能、Vue 生态的天然优势以及出色的开发者体验,迅速成为技术文档、个人博客和轻量营销站点的优选工具。作为 Vite 团队官方推出的静态站点方案,它不仅继承了 Vite 的…

作者头像 李华
网站建设 2026/4/18 3:52:50

【Java毕设全套源码+文档】基于ssm的高校学生社团管理系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华