数据结构与算法-D8D9队列实现及应用

队列:限制在两端进行插入和删除的线性表

允许进行存入操作的一端为“队尾”

允许进行删除操作的一端为“队头”

顺序队列

注意:front指向队头元素的位置

        rear指向队尾元素的下一个位置

实现循环队列:(rear+1)%N取余,为了区分空队和满队,满队元素个数比数组元素个数要少一

 sequeue.h

 queue_creat

 enqueue

        1、判断堆是否满

         2、存数

dequeue

         在返回值之前,要判断堆是否为空

 queue_empty

queue_full

queue_clear

 queue_free

链式队列

 双端队列

插入操作在队尾进行,删除操作在队头进行,由队头指针和队尾指针控制队列的操作

 linkqueue.h

 queue_creat

 enqueue

        1、申请P,封装结点p

        2、lq->rear->next = p

        3、更新rear

 dequeue

 注意:当只有一个元素时,此时还要进行dequeue时,要进行将最后一个元素去掉,此时若rear不进行更改的话,rear将指向NULL,所以还要操作rear=front

 还有一种思路:在每次dequeue时都删除front,并把dequeue的那个结点作为新的front

        1、结点p指向lq的front

        2、更新lq的front

        3、释放p

 queue_empty

 queue_free

 担心用户释放了链表还使用的话,返回链表指针

 queue_clear

与queue_free不同是在while中

 球钟问题

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

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

相关文章

Connection refused: no further information

解决目录 一、报错信息二、解决方法 一、报错信息 二、解决方法 1、报错原因是开启了代理,像AS是绝对不能开代理的。 2、设置为No proxy,然后Apply再选择OK,重新同步。 要远离消耗你的人和事,不要花费任何情绪或者精力在他们身…

Linux网络——高级IO

目录 一.五种IO模型 1.阻塞式IO 2.非阻塞式IO 3.信号驱动IO 4.多路转接IO: 5.异步IO 二.同步通信 vs 异步通信 三.设置非阻塞IO 1.阻塞 vs 非阻塞 2.非阻塞IO 3.实现函数SetNoBlock 四.I/O多路转接之select 1.初识select 2.select函数原型 3.socket就绪…

UEFI下Windows10和Ubuntu22.04双系统安装图解

目录 简介制作U盘启动盘并从U盘启动电脑安装系统安装Windows系统安装Ubuntu 附录双系统时间不一致 简介 传统 Legacy BIOS主板下的操作系统安装可参考本人博客 U盘系统盘制作与系统安装(详细图解) ,本文介绍UEFI主板下的双系统安装&#xff…

解决 Element-ui中 表格(Table)使用 v-if 条件切换后,表格的列的筛选不显示了

解决方法 在每个需要使用 v-if 或 v-else 的 el-table-column 上增加 key 作为唯一标识,这样渲染的时候就不会因为复用原则导致列数据混乱了。关于key值,一般习惯使用字段名,也可随机生成一个值,只要具有唯一性就可以。

Java王者荣耀火柴人

主要功能 键盘W,A,S,D键:控制玩家上下左右移动。按钮一:控制英雄发射一个矩形攻击红方小兵。按钮控制英雄发射魅惑技能,伤害小兵并让小兵停止移动。技能三:攻击多个敌人并让小兵停止移动。普攻:对小兵造成基础伤害。小…

nginx配置自动压缩-gzip压缩

1.nginx配置文件 server里添加gzip配置信息。 重启nginx服务 对比效果:上图是没有开启gzip自动压缩,总共资源是1.3M,传输1.3MB,下图是开启gzip压缩,总共资源是1.3M,传输了973KB。

Axure简单安装与入门

目录 一.Axure简介 二.应用场景 三.安装与汉化 3.1.安装 3.2.汉化 四. 入门 4.1.复制、剪切及粘贴区域 4.2.选择模式 4.3. 插入形状 4.4.预览、共享 感谢大家观看!希望能帮到你哦!!! 一.Axure简介 Axure RP是一款专业的原型…

HarmonyOS4.0从零开始的开发教程10管理组件状态

HarmonyOS(八)管理组件状态 概述 在应用中,界面通常都是动态的。如图1所示,在子目标列表中,当用户点击目标一,目标一会呈现展开状态,再次点击目标一,目标一呈现收起状态。界面会根…

ERROR: [BD 41-237] Bus Interface property FREQ_HZ does not match between

在自定义IP出现以上错误时可以通过双击模块clk属性 如果是灰色无法二次编辑时,在封装IP时,选择以下菜单

财务机器人(RPA)会影响会计人员从业吗?

财务机器人会对会计从业人员有影响。 不过是正面积极的影响。 它是财务人员工作的好助手好帮手。 具体展开聊聊财务RPA机器人是如何成为财务人员的好帮手。 财务机器人是在人工智能和自动化技术的基础上建立的、以软件机器人作为虚拟劳动力、依据预先设定的程序与现有用户系…

三哥的黑科技,印度发布无线加热服装专利,冬季神器要来了

众所周知风和自由在冬天是不存在的,冬天只剩下冰冷的像刀子一样的风刮在你的脸上,哪怕穿的很厚,戴上全盔,也无法阻挡冰冷的风带走你身体温度,如果穿的特别多,骑车时候的舒适感和穿脱衣物的繁琐也是一大头疼…

【MySQL系列】Centos安装MySQL

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

java--StringBuilder、StringBuffer、StringJoiner

1.StringBuilder ①StringBuilder代表可变字符串对象,相当于是一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的。 ②好处:StringBuilder比String更适合做字符串的修改操作,效率会比更高,代码…

【开源】基于JAVA的木马文件检测系统

项目编号: S 041 ,文末获取源码。 \color{red}{项目编号:S041,文末获取源码。} 项目编号:S041,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 木马分类模块2.3 木…

Leo赠书活动-13期 【以企业架构为中心的SABOE数字化转型五环法】文末送书

Leo赠书活动-13期 【以企业架构为中心的SABOE数字化转型五环法】文末送书 ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客…

记录 | xshell输出错乱解决

输出错乱问题: 解决方法:

智能优化算法应用:基于郊狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于郊狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于郊狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.郊狼算法4.实验参数设定5.算法结果6.参考文献7.MA…

C、C++、C#的区别概述

C、C、C#的区别概述 https://link.zhihu.com/?targethttps%3A//csharp-station.com/understanding-the-differences-between-c-c-and-c/文章翻译源于此链接 01、C语言 ​ Dennis Ritchie在1972年创造了C语言并在1978年公布。Ritchie设计C的初衷是用于开发新版本的Unix。在那之…