ImageVerifierCode 换一换
格式:PPT , 页数:21 ,大小:5.93MB ,
资源ID:1723796      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1723796.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大赛精美PPT课件.ppt)为本站会员(kuailexingkong)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

大赛精美PPT课件.ppt

1、READY?,Now Loading,院系:信息工程学院 班级:信息管理与信息系统 姓名:xxx,数据结构,ppt课件,LOGO,第一节 队列,队列是限定只能在表的一端插入元素,在表的另一端删除元素的线性数据结构。允许插入元素的一端称队尾(rear),允许删除元素的另一端称队头(front)。若队列中无元素,则称为空队列。若给定队列Q=(a0,a1,an1),则称a0是队头元素, an1是队尾元素。若元素a0,an1依次入队列,则元素出队列的次序与入队列一致,a0出队列后,a1才能出队列,见图3-4。由于队列的这种先进先出的特点,因此队列是先进先出(First In First OutFIFO

2、)的线性数据结构。,.队列ADT,队列的顺序表示,图34 队列示意图, a(1) a(2) a(3) a(n-1) ,Append(入队列),Serve (出队列),Front(队头),Rear (队尾),队列的基本运算包括构造一个空队列,判定一个队列是否为空队列,判定一个队列是否已满,在一个未满的队列中插入一个新元素,从一个非空的队列中删除队头元素等。当然我们还可以根据应用需要增加其它必要的队列运算,如求队列的长度,清除一个队列,以及遍历一个队列等。队列的抽象数据类型定义见ADT 32。,ADT 32 Queue 数据:零个或多个元素的线性序列(a0,a1,.,an1),其最大允许长度为ax

3、Queue。 运算:void CreateQueue(Queue * q,int maxsize);已构造一个空队列。BOOL IsEmpty(Queue q)若队列为空,则返回TRUE,否则返回FALSE。,BOOL IsFull(Queue q) 若队列已满,则返回TRUE,否则返回FALSE。void Append(Queue *q, T x) 若队列已满,则指示Overflow,否则值为x的新元素进队列。 void Serve(Queue *q) 若队列为空,则指示Underflow,否则从队列中删除队头元素。 void QueueFront(Queue q,T* x) 若队列为空,则

4、指示Underflow,否则在参数x中返回队头元素值。 ,.队列ADT,队列的顺序表示,与堆栈一样,队列可以采用顺序存储,也可以采用链接存储。当我们用一维数组存储队列时,被称为顺序队列(sequential queue),图35是队列的顺序表示示意图。队列的链接表示在下一小节讨论。队列的顺序实现可以用下面的C语言结构定义: typedef struct queueint Front,Rear,MaxQueue;T ElementsMaxSize; Queue,队列运算需要两个指针,Front指向队头元素,Rear指向队尾元素。MaxQueue为队列的最大允许长度,它应不大于整型常量MaxSiz

5、e。一维数组Elments用以存放队列中的元素,实现队列的顺序存储。初始状态下,我们将Front和Rear两个指针均置成1,代表空队列,见图36(a)。图中,f和r分别代表Front和Rear。,图36 入队列和出队列运算的简单实现 空队列;(b) 元素20、30、40、50依次进队列; (c) 元素20、30、40依次出队列;(d) 元素60入队列,初始状态下,我们将Front和Rear两指针均置成0。为了循环使用数组,可以利用取余运算符%计算新元素的插入位置(即新队尾元素的位置)和删除队头元素后的新队头元素的 位置。队头指针进一操作:Front=(Front+1) % MaxQueue;队

6、尾指针进一操作:Rear=(Rear+1) % MaxQueue;我们看到,指针Front和Rear始终以顺时针方向移动。,初始状态下,我们将Front和Rear两指针均置成0。为了循环使用数组,可以利用取余运算符%计算新元素的插入位置(即新队尾元素的位置)和删除队头元素后的新队头元素的 位置。队头指针进一操作:Front=(Front+1) % MaxQueue;队尾指针进一操作:Rear=(Rear+1) % MaxQueue;我们看到,指针Front和Rear始终以顺时针方向移动。,程序33循环队列实现 void CreateQueue(Queue *q,int maxsize)q-Fr

7、ont=q-Rear=0;q-MaxQueue=maxsize;BOOL IsEmpty(Queue q)return q.Front=q.Rear;BOOL IsFull(Queue q),return (q.Rear+1) % q.MaxQueue=q.Front;void Append(Queue* q, T x)if ( IsFull(*q) printf(“Overflow“);else q-Elementsq-Rear=(q-Rear+1)%q-MaxQueue=x;void Serve(Queue* q),if (IsEmpty(*q)printf(“Underflow“);else q-Front=(q-Front+1)% q-MaxQueue;void QueueFront(Queue q,T* x)if (IsEmpty(q) printf(“Underflow“);else *x=q.Elements(q.Front+1)% q.MaxQueue;,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报