数据结构与算法-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,重新同步。 要远离消耗你的人和事,不要花费任何情绪或者精力在他们身…

unity Pc获取本机Mac地址

1.此方法只能获取众多Mac中的一个 private static string GetMacAddress(){string physicalAddress "";NetworkInterface[] nice NetworkInterface.GetAllNetworkInterfaces();foreach (NetworkInterface adaper in nice){Debug.Log(adaper.Description);if (adape…

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…

手把手教你在GPU T4卡上安装硬解环境+编译硬解的ffmpeg

系列文章目录 文章目录 系列文章目录前言一、NVDIA环境软件安装二、FFMPEG编译过程总结前言 通常开发流媒体服务,经常需要ffmpeg支持硬解解码功能,即常见的GPU解码,如cuda解码等。下面主要讲解在全新的环境中怎么安装nvidia的环境与编译ffmpeg的过程。 运行环境Centos7.5 G…

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

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

如何快速上手不熟悉的库

首先需要一个编辑器vscode或者pycharm 然后,不要傻乎乎的自己急着去看代码。 先看有没有文档和使用手册,一般都有一个quick_start.md文件或者其他的.md文件。 然后,还是不急着看代码,先看代码的注释。 比如我现在要从这里找到…

Java王者荣耀火柴人

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

LVGL——按钮部件

目录 一、组成部分 二、按钮部件操作 1、创建 2、设置样式 3、添加事件 4、代码例程 三、按钮部件案例 一、组成部分 主体(LV_PART_MAIN) 二、按钮部件操作 1、创建 lv_obj_t *btn lv_btn_create( parent );2、设置样式 lv_obj_set_siz…

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是一款专业的原型…

四种数据库执行脚本文件导入数据的方式

执行脚本文件的方式 Mysql mysql执行sql脚本文件的方法&#xff1a; 1、在命令行输入mysql -uroot -h10.235.5.55 -p’123456’ -P3306 < F:\hello\niuzi.sql 2、在命令行输入【source F:\hello\niuzi.sql】 mysql -uroot -h10.235.5.55 -p’123456’ -P3306 -e "sou…

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

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

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

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

复杂sql分析 以及 索引合并

复杂sql分析 简单的sql语句我们很简单的就可以分析出来它的执行计划&#xff0c;但是复杂的sql呢。例如 SELECT * FROM single_table WHERE(key1 > xyz AND key2 748 ) OR(key1 < abc AND key1 > lmn) OR(key1 LIKE %suf AND key1 > zzz AND (key2 < 8000 OR…

为什么同一张显卡,深度学习的模型训练的时候,有时候成功了,有时候失败了

在同一张显卡上进行深度学习模型训练时&#xff0c;成功或失败的结果可能受到以下因素的影响&#xff1a; 随机性: 深度学习模型中的一些组件&#xff08;如权重初始化、数据的随机排列等&#xff09;可能涉及到随机性。这可能导致在每次训练时得到不同的结果&#xff0c;有时成…

Mybatis进阶知识

Mybatis的事务管理机制 在mybatis-config.xml文件中.可以进行mybatis的事务管理 <transactionManager type"JDBC"/> type的值有两个 JDBCMANAGED JDBC事务管理器 mybatis框架自己管理事务&#xff0c;自己采用原生的JDBC代码去管理事务 底层创建的事务管…

汇总区间算法(leetcode第228题)

题目描述&#xff1a; 给定一个 无重复元素 的 有序 整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说&#xff0c;nums 的每个元素都恰好被某个区间范围所覆盖&#xff0c;并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区…

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

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