数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源5顺序队列和循环队列

上传人:E**** 文档编号:89116808 上传时间:2019-05-18 格式:PPT 页数:13 大小:1.27MB
返回 下载 相关 举报
数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源5顺序队列和循环队列_第1页
第1页 / 共13页
数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源5顺序队列和循环队列_第2页
第2页 / 共13页
数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源5顺序队列和循环队列_第3页
第3页 / 共13页
数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源5顺序队列和循环队列_第4页
第4页 / 共13页
数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源5顺序队列和循环队列_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源5顺序队列和循环队列》由会员分享,可在线阅读,更多相关《数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源5顺序队列和循环队列(13页珍藏版)》请在金锄头文库上搜索。

1、第三章 栈和队列,顺序队列和循环队列,生活中的栈与队列 栈和队列是特殊的线性表 栈与队列的特征 LIFO(Last In First Out) FIFO(First In First Out),第3节/队列,1.队列(Queue)的定义,FIFO,队列简称为队,是限定只能在表的一端作插入运算、在另一端作删除运算的线性表; 在表中,允许插入的一端称作“队尾”,允许删除的另一端称作“队首”(或“队头”); 通常将元素插入队尾的操作称作为入队列(或入队),称删除队首元素的操作为出队列(或出队)。,2.队列的存储结构,两种结构: (1) 顺序队列采用顺序结构存储 (2) 链式队列采用链式结构存储,第4

2、节/顺序队列,3.4.1.队列的顺序存储结构-1,#define MaxSize n 队列可能达到的最大长度n typedef struct ElementType elemMaxSize; int front, rear; /*队首、队尾指示器*/ Queue;,3.4.1.队列的顺序存储结构-2,图3.12 队列操作,队满和队空的条件是什么?,队空:front=rear 队满:rear=Maxsize-1,?,3.4.1.队列的顺序存储结构-3,当rear=MaxSize-1时,队列为满,如果再加入新元素,就会产生“溢出“。 但是这种“溢出“并不是真正的溢出,在数组的前端还可能有空位置,所

3、以这是一种假溢出。,b,c,e,rear=4,d,front=0,front=rear=4,解决方法:循环队列,3.4.1.队列的顺序存储结构-4,为了能够充分的使用数组中的存储空间,把数组的前端和后端连接起来,形成一个环形的表,即把存储队列元素的表从逻辑上看成一个环,成为循环队列(Circular Queue)。,front,front,rear,front,rear,a,front,rear,b,c,d,front,rear,a,b,c,d,front,rear,a,b,c,rear,(a) 空队列,(b) a入队列,(c) b,c入队列,(d) d入队列(队满),(e) 出队1次,(f)

4、 出队3次(队空),队头指针进1:front=(front+1)%MaxSize; 队尾指针进1:rear=(rear+1)%MaxSize;,以下是队空的几种情况:,初始化时:front=rear=0 循环队列为空的条件是:front=rear,front,rear,(a) 空队列,front,rear,(f) 出队3次(队空),front=0 Rear=0,front=4 Rear=4,循环队列为满的条件是:front=(rear+1) % MaxSize,front,rear,a,b,c,d,以下是队满的几种情况:,front=0 Rear=4,front,rear,a,b,c,d,front=3 Rear=2,front,rear,b,c,d,a,front=1 Rear=0,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号