《队列及其实现》ppt课件

《队列及其实现》ppt课件

ID:27171749

大小:354.01 KB

页数:35页

时间:2018-12-01

《队列及其实现》ppt课件_第1页
《队列及其实现》ppt课件_第2页
《队列及其实现》ppt课件_第3页
《队列及其实现》ppt课件_第4页
《队列及其实现》ppt课件_第5页
资源描述:

《《队列及其实现》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、队列及其实现1HoufengWang,ICLofPKU排队上车rearBusStopfront排队上车BusStopfrontrearBusStopQueueBusStopfrontrear队列的特点队列也是一种特殊的线性表,是一种只允许在表的一端进行插入操作,而在另一端进行删除操作的线性表。允许进行删除的这一端叫队列的头,允许进行插入的这一端叫队列的尾。当队列中没有任何元素时,称为空队列。队列的插入操作通常称为进队列或入队列,队列的删除操作通常称为退队列或出队列。5HoufengWang,ICLofPKU队列也称作先进先出表(FirstInFirstOut表,简称FIFO表)图4.7

2、是队列的示意图6HoufengWang,ICLofPKU队列的基本运算1.QueuecreateEmptyQueue(void)创建一个空队列2.intisEmptyQueue(Queuequ)判队列qu是否为空队列,当qu为空队列时取真值,否则取假值3.voidenQueue(Queuequ,DataTypex)往队列qu中插入一个值为x的元素4.voiddeQueue(Queuequ)从队列qu中删除一个元素5.DataTypefrontQueue(Queuequ)求队列qu头部元素的值7HoufengWang,ICLofPKU队列的实现8HoufengWang,ICLofPKU顺

3、序表示队列的顺序表示,约定:队头指针指出实际队头元素所在的位置,而队尾指针指出实际队尾元素所在位置的下一个位置。结构定义:#defineMAXNUM//队列中最大元素个数structSeqQueue//顺序队列类型定义{DataTypeq[MAXNUM];intf,r;//f指向队列头,r指向队列尾};typedefstructSeqQueue*PSeqQueue;/*顺序队列类型的指针类型*/9HoufengWang,ICLofPKU设paqu是PSeqQueue类型的变量,则头变量paqu->f存放即将要被删除的元素的下标,尾变量paqu->r存放即将要被插入的元素(当前还不是队列

4、中的元素)的下标。初始时paqu->f=paqu->r=0。队列中元素的个数可以用paqu->r-paqu->f计算得到,当paqu->r=paqu->f时,元素的个数为0,即为空队列。例子:观察变化过程约定10HoufengWang,ICLofPKU11HoufengWang,ICLofPKU基本运算PSeqQueuecreateEmptyQueue_seq(void)创建一个空队列,返回指向空队列的指针。2.intisEmptyQueue_seq(PSeqQueuepaqu)判断paqu所指的队列是否为空队列,当paqu所指的队列为空队列时,则返回1,否则返回0。12Houfeng

5、Wang,ICLofPKUPSeqQueuecreateEmptyQueue_seq(void) //创建一个空队列,返回指向空队列的指针{PseqQueuepsqu;psqu=(PseqQueue)malloc(sizeof(structSeqQueue));if(psqu!=NULL){psqu->r=0;psqu->f=psqu->r;}return(psqu);}13HoufengWang,ICLofPKUintisEmptyQueue_seq(PSeqQueuepaqu) //判断paqu所指的队列是否为空队列,当paqu所指的队//列为空队列时,则返回1,否则返回0{ret

6、urn(paqu->r==0);}14HoufengWang,ICLofPKUvoidenQueue_seq(PSeqQueuepaqu,DataTypex)进队列运算,表示往paqu所指的队列中插入一个值为x的元素。voiddeQueue_seq(PSeqQueuepaqu)出队列运算,表示从paqu所指的队列中删除一个元素。DataTypefrontQueue_seq(PSeqQueuepaqu)当paqu所指的队列不空时,求队列头部元素的值,队列保持不变。自己实现上述三个算法(!!)15HoufengWang,ICLofPKU当队列满时,再作进队操作,这种现象称为上溢;当队空时,

7、作删除操作,这种现象称为下溢。溢出现象在运算中都要考虑。当paqu->r=MAXNUM时,再作插入运算就会产生溢出,如果这时队列的前端还有许多空的(可用的)位置,这种现象称为假溢出。队列的溢出16HoufengWang,ICLofPKU解决假溢出通常采用的方法是:把数组paqu->q[MAXNUM]从逻辑上看成一个环,即规定paqu->q[0]是paqu->q[MAXNUM-1]的下一个元素。当paqu->q[MAXNUM-1]已经插入元素以后

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。