1 / 31
文档名称:

DS03 栈和队列04 队列.ppt

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

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

分享

预览

DS03 栈和队列04 队列.ppt

上传人:dsjy2351 2019/11/19 文件大小: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_队列