




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章栈和队列-队列嘉应学院数学系数据结构讲义3.4.1队列的定义队列(Queue)也是一种运算受限的线性表。它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。队列的修改是依先进先出的原则进行的。队列的基本运算1.初始化队列InitQueue(&Q)
将队列Q设置成一个空队列。2.入队列EnQueue(&Q,X)将元素X插入到队尾中,也称“进队”,“插入”。3.出队列DeQueue(&Q,&e)
将队列Q的队头元素删除,并用e返回其值,也称“退队”、“删除”。4.取队头元素GetHead(Q,&e)
得到队列Q的队头元素之值,并用e返回其值。5.判队空QueueEmpty(Q)
判断队列Q是否为空,若为空返回1,否则返回0。#defineMAXSIZE100typedefstruct{
ElemTypedata[MAXSIZE];
intfront;
intrear;}SqQueue;顺序队列的操作演示flash在非空队列里,头指针始终指向队头元素,而尾指针始终指向队尾元素的下一位置。3.4.3队列的顺序实现
为充分利用向量空间,克服上述假上溢现象,可以将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量,存储在其中的队列称为循环队列(CircularQueue)。循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指向向量上界(QueueSize-1)时,其加1操作的结果是指向向量的下界0。循环队列的操作演示flash012345rearfrontJ5J6J7012345rearfrontJ4J9J8J4J5J6012345rearfront初始状态J4,J5,J6出队J7,J8,J9入队队空:front==rear队满:front==rear队空、队满无法判断:1.另外设一个标志以区别2.少用一个元素空间:队空:front==rear
队满:(rear+1)%M==front队空:Q.front=Q.rear队满:Q.front=(Q.rear+1)%maxSize入队:Q.rear=(Q.rear+1)%maxSize出队:Q.front=(front+1)%maxSize;求队长:(Q.rear-Q.front+maxSize)%maxSize循环队列1)进队列算法(1)检查队列是否已满,若队满,则溢出错误;(2)将新元素赋给队尾指针所指单元;(3)将队尾指针后移一个位置(即加1)。2)出队列算法(1)检查队列是否为空,若队空,则下溢错误;(2)取队首元素的值。(3)将队首指针后移一个位置(即加1);循环队列的基本运算实现null*qq.frontq.rear非空队列q.frontq.rearnull空队列*q3.4.2链队列链队列示意图
和顺序队列类似,我们也是将这两个指针封装在一起,将链队列的类型LinkQueue定义为一个结构类型:
typedef
struct
queuenode{
ElemTypedata;
struct
queuenode*next;}QueueNode;
typedefstruct{
QueueNode*front;
QueueNode*rear;}LinkQueue;
链队列的基本实现CPU资源的竞争问题。主机与外部设备之间速度不匹配的问题。服务、排队问题队列的应用讨论(代本章小结)线性表、栈与队的异同点相同点:逻辑结构相同,都是线性的;都可以用顺序存储或链表存储;栈和队列是两种特殊的线性表,即受限的线性表(只是对插入、删除运算加以限制)。不同点:①运算规则不同,线性表为随机存取,而栈是只允许在一端进行插入和删除运算,因而是后进先出表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江万里学院《美学与医学美学》2023-2024学年第二学期期末试卷
- 平凉市灵台县2024-2025学年六年级下学期调研数学试卷含解析
- 武汉纺织大学外经贸学院《广播电视新闻采编》2023-2024学年第二学期期末试卷
- 广州商学院《口腔工艺管理》2023-2024学年第二学期期末试卷
- 云南财经大学《新技术在城市规划中的应用》2023-2024学年第二学期期末试卷
- 镇江市高等专科学校《影视虚拟空间技术》2023-2024学年第一学期期末试卷
- 浙江工业大学《精神卫生保健》2023-2024学年第一学期期末试卷
- 债券相关知识培训
- 工艺流程培训
- 辽宁省大连市瓦房店市2024-2025学年七年级下学期期中地理试题(含答案)
- 《金属加工基础(第二版)》中职全套教学课件
- 2025年湖北省初中学业水平考试数学模拟卷(二)(原卷版+解析版)
- 2025年华能新能源股份有限公司广东分公司应届高校毕业生招聘笔试参考题库附带答案详解
- 2025年新疆克州中考英语一模试卷
- 2024年新疆伊犁州直检察机关招聘聘用制书记员笔试真题
- 口腔四手操作培训
- 医院检验科简介
- 成人手术后疼痛评估与护理团体标准
- 连锁药店年度规划
- 2024年10月自考07729仓储技术与库存理论试题及答案
- 血液透析头痛的应急预案
评论
0/150
提交评论