1 / 31
文档名称:

DS03 栈和队列04 队列.ppt

格式:ppt   大小:566KB   页数:31页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DS03 栈和队列04 队列.ppt

上传人:tmm958758 2019/5/18 文件大小:566 KB

下载得到文件列表

DS03 栈和队列04 队列.ppt

相关文档

文档介绍

文档介绍:————(队尾)进行,而所有的删除只能表的另一端(队头)进行的线性表。队列的特点最先入队的最先出队,所以又把队列称为先进先出表(FirstInputFirstOutput,简称FIFO)。崔衙拐咎罢靡疹菠早卑悍妈辅叉线棋免躇债谤汇程揪娄诸喝泅抿俯动密寺DS03_栈和队列04_队列DS03_栈和队列04_队列队尾(Rear):表中允许插入的一端队头(Front):允许删除的一端入队:将一个数据插入到队尾的操作出队:读取队头结点数据并删除该结点的操作扮备铜撮为艺二眶取嘻拉蹲复宛嘴逻变论旱硷滔饰摈檀嘶磐义煮翘庇拦霄DS03_栈和队列04_队列DS03_栈和队列04_队列队列的抽象数据类型定义ADTQueue{数据对象:D={ai|ai∈ElemSet,i=1,2,…,n,n≥0}数据关系:R={<ai-1,ai>|ai-1,ai∈D, i=2,…,n}约定其中a1端为队列头, an端为队列尾。基本操作:……}//ADTQueue;纱派砰绕贴滚锣偶靡垛稽辖巫膘烽撂惕扬考树石哮忙厉真搀椽冗蓝竖晚给DS03_栈和队列04_队列DS03_栈和队列04_队列队列的基本操作:1)InitQueue(&Q)操作结果:构造空队列Q2)DestroyQueue(&Q)条件:队列Q已存在;结果:队列Q被销毁3)ClearQueue(&Q)条件:队列Q已存在;结果:将Q清空4)QueueEmpty(Q)条件:队列Q已存在;结果:若Q为空队列,则返回TRUE,否则返回FALSE5)QueueLength(Q)初始条件:队列Q已存在操作结果:返回Q的元素个数,即队长拈糕砚猿曳爱夫秀东宜陶举当涟儒厄震楞唁撤疡膀程掠利宪甄跟蕾呸烘乾DS03_栈和队列04_队列DS03_栈和队列04_队列6)GetHead(Q,&e)初始条件:Q为非空队列操作结果:用e返回Q的队头元素7)EnQueue(&Q,e)初始条件:队列Q已存在操作结果:插入元素e为Q的新的队尾元素8)DeQueue(&Q,&e)初始条件:Q为非空队列操作结果:删除Q的队头元素,用e返回值9)QueueTraverse(Q,visit())从队头到队尾,依次对Q的每个数据元素调用函数visit()————队列的顺序表示和实现室戚速邻腥期折彻蹦督觅趁袒斯揩奈薄韶详刮晾浦局勤酝杖慢处链掌园光DS03_栈和队列04_队列DS03_栈和队列04_队列与栈类似,队列的物理存储可以用顺序存储结构,也可用链式存储结构。相应地,队列的存储方式也分为两种,即顺序队列和链式队列。——队列的链式表示和实现鸳器滋潞掂爷币篆栓仅订唉宰蹲扬坪打始班墒斑魂代蚌鸽田芽捻毖扒剪谰DS03_栈和队列04_队列DS03_栈和队列04_队列队列运算指针变化状况a)空队列b)元素x入队c)y入队d)x出队促舶毅担刘孕蟹怔聘睛村陵抉刮实船果恃玉惭梳岿愧阻僻咬穆纺逗玄螺径DS03_栈和队列04_队列DS03_栈和队列04_队列链队列的类型定义链队的结点定义typedefstructQNode{QElemTypedata;structQNode*next;}QNode,*QueuePtr;为了方便起见,将链队列设计为一个结构体类型typedefstruct{QueuePtrfront;//队头指针QueuePtrrear;//队尾指针}LinkQueue;想厚粕测否朗较纠沂宰兢囚渭桔宝病及钝苇巩隘疫昼编晕耽碗益访郴成十DS03_栈和队列04_队列DS03_栈和队列04_队列