栈和队列的实现以即相应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到第一位.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1174387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026建筑模板/建筑清水模板/清水建筑模板/建筑木工模板/建筑覆膜模板厂家权威推荐榜:漳州飞鲸工贸等实力厂商,适配高层/桥梁/住宅多场景施工需求 - 品牌推荐官

在建筑模板领域,漳州飞鲸工贸有限公司凭借其完整的产业链布局和强大的生产能力,在市场上占据了一席之地。01 市场现状:建筑模板行业格局现代建筑工程中,建筑模板是混凝土成型的关键临时结构,其质量直接影响工程成…

吐血推荐10个AI论文网站,专科生毕业论文轻松搞定!

吐血推荐10个AI论文网站,专科生毕业论文轻松搞定! 论文写作不再难,AI工具助你轻松应对 随着人工智能技术的不断发展,越来越多的专科生开始关注并依赖AI工具来辅助自己的论文写作。这些工具不仅能够帮助学生快速生成初稿&#xff0…

实用指南:蓝牙开发避坑:一文搞懂UART硬件流控中的CTS与RTS

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

百考通AI任务书功能:智能生成贴合你专业的毕业设计任务书,规范、高效、一次成型

毕业设计任务书是高校人才培养中承上启下的关键文档——它不仅是选题的正式确认,更是后续研究、开发与论文撰写的“施工蓝图”。然而,许多学生在撰写时常常因不熟悉专业规范、技术表达不清或找不到权威模板而陷入困境:内容空洞、结构混乱、术…

百考通AI任务书功能:一键生成专业、规范、可落地的毕业设计任务书

毕业设计任务书是连接选题与实施的关键桥梁,它不仅明确了研究目标、技术路线和进度安排,更是指导教师审核学生研究可行性的重要依据。然而,许多学生在撰写任务书时常常陷入困境:内容空泛、技术描述模糊、结构混乱、格式不符……这…

百考通AI任务书功能:告别手忙脚乱,智能生成符合学院规范的毕业设计任务书

毕业设计任务书是高校教学管理中不可或缺的正式文件,它不仅是学生研究工作的起点,也是指导教师审核课题可行性、学院备案监管的重要依据。然而,许多学生在撰写时常常手忙脚乱:不知道结构怎么搭、内容怎么写、技术怎么描述、格式怎…

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

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

上线只是开始:揭秘大模型为何需要持续“保养”与迭代

大家好,我是maoku。今天我们来聊聊大模型部署后一个让人又爱又恨的话题——为什么大模型总是需要反复微调? 如果你已经成功把一个开源大模型部署到了自己的业务中,先恭喜你!但你很快会发现一个“残酷”的现实:这个…

API 聚合这件事,本质是在帮业务挡风险

很多人一听到 API 聚合 / 中转,就下意识觉得“多了一层,会不会更复杂”。 但从工程角度看,这一层反而是在简化业务系统。 典型结构是: 业务系统--→API 聚合/中转层--→多个模型/多种能力来源 这层存在的意义只有一…

基于蒙特卡洛概率潮流计算 在IEEE33节点系统中,由于风光出力的不确定性,利用蒙特卡洛生成风...

基于蒙特卡洛概率潮流计算 在IEEE33节点系统中,由于风光出力的不确定性,利用蒙特卡洛生成风速和光照强度得到出力,可得到每个节点的电压和支路功率变化,网损和光照强度。 这段程序主要是进行电力系统潮流计算和蒙特卡洛仿真。下面…

如何快速掌握JavaSE的核心语法?

一、第一步:先筛出 “核心中的核心”,只学高频语法JavaSE 语法很多,但日常开发中 80% 的场景只用到这些核心内容,优先攻克:模块高频核心语法可跳过(新手阶段)基础语法变量 / 数据类型、运算符、…

2026亚马逊绿标(CPF)最新玩法:零成本撬动流量,中小卖必看指南

核心预警】2026年亚马逊流量规则大改,绿色小标识已成“流量硬通货”!数据显示,带绿标的商品自然流量平均暴涨60%,广告CPC直降30%,更成为黑五、气候友好周等大促的入场门槛。但仍有80%的卖家对绿标一知半解,…

百考通AI任务书功能:精准匹配学科规范,一键生成高质量毕业设计任务书

毕业设计任务书是高校人才培养过程中的关键教学文件,它不仅明确了学生的研究目标、技术路线和成果形式,更是指导教师审核课题可行性、教务部门备案管理的重要依据。然而,许多学生在撰写时常常因缺乏经验而陷入困境:内容泛泛而谈、…

Python实现PDF 转 JPG 批量转换工具 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

权威官宣|2026广州艺考文化课集训冲刺班中科全程2期热招中II为你的梦想加注文化底气! - 速递信息

前言:广州艺考文化课培训对于学生和家长无论最终你会落脚哪家?我们中科全程都会给到你真诚性的选择建议:1)教学诚信为根;2)提分为本;3)快乐生活为辅;4)快乐学习为主;5)信心为能;6)快速提分为果。 当画笔…

百考通AI任务书功能:智能生成规范任务书,助力毕业设计高效启航

毕业设计任务书是高校教学管理中不可或缺的正式文件,它不仅明确了学生的研究方向、工作内容与成果要求,更是指导教师审核课题可行性、学院备案及过程监管的重要依据。然而,许多学生在撰写任务书时常常因不熟悉规范而手足无措:内容…

2025浙江户外骑行宝藏地,口碑爆棚速来!山地车/山地车骑行/山地速降/户外骑行,户外骑行旅游打卡点口碑排行 - 品牌推荐师

近年来,随着全民健身与低碳出行理念的深度渗透,户外骑行从专业竞技向大众休闲加速转型。据浙江省文旅厅数据显示,2024年全省骑行相关消费规模突破85亿元,同比增长32%,其中山地速降、乡村骑行等细分赛道增速超50%。…

兰亭妙微:以UI界面设计与交互设计为核,WPF开发赋能芯片工业软件界面设计新升级

兰亭妙微:以UI界面设计与交互设计为核,WPF开发赋能芯片工业软件界面设计新升级 在芯片产业高速迭代的浪潮中,高精度微纳加工领域的核心软件不仅是技术落地的载体,更直接决定着生产效率与工艺精度。某芯片龙头企业…

总结篇:2025 回顾 2026 展望:Cesium 的“高光之年”与“跃迁之始”

View Post总结篇:2025 回顾 2026 展望:Cesium 的“高光之年”与“跃迁之始”本专栏旨在手把手带你从零开始,基于开源三维地球引擎 **Cesium** 封装一套功能完善、可复用的 **WebGIS 增强型 SDK**。内容涵盖核心封装…

考虑需求侧响应的微电网多目标经济运行 建立了含风光储荷的微电网模型,以发电侧成本(包括风光储以...

考虑需求侧响应的微电网多目标经济运行 建立了含风光储荷的微电网模型,以发电侧成本(包括风光储以及电网的购电成本)和负荷侧成本最小为目标,考虑功率平衡以及储能SOC约束,建立了多目标优化模型,通过分时电价引导负荷需求侧响应&…