队列字符串、队列和栈课件.pptx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

队列字符串、队列和栈Educationalcourseware主讲人:胡思杭

情景导入食堂窗口打餐火车站买票银行叫号取号计算机打印队列......

队列的概念已出队元素队列元素队首元素队尾元素队列的概念:队列是一种先进先出的线性表允许插入的一端称为队尾允许删除的一段称为队首队首队尾

队列的特性入队:在队列中插入一个元素的过程出队:在队列中删除一个元素的过程先进先出,后进后出队首元素:只有一个后驱节点队尾元素:只有一个前驱节点既有前驱,又有后驱出队入队有限序列性:队列是一种线性表结构,元素的个数也是有限的

队列的基本操作队列一般按顺序结构储存,可以用数组来实现如下图,数组que中储存了一个队列,共有3个元素,队首元素为a1,队尾元素为a3由于在入队和出队的过程中,队首元素和队尾元素在数组que中的位置发生改变,因此需要头指针变量head和尾指针变量tail,head记录队首元素所在位置,tail记录队尾元素所在位置a1a2a30123数组元素数组下标0123headtailhead=0tail=0队列为空:tail=head

队列的基本操作1.建队head=0tail=0que=[“”]*52.入队A0123AB0123ABC0123tailtailtailheadheadheadB入队:que[tail]=“B”tail+=1C入队:que[tail]=“C”tail+=1新元素入队:que[tail]=“新元素”tail+=1

队列的基本操作3.出队ABC0123BC0123C0123tailtailtailhead=head+10123tailheadheadheadhead此时head=tail=3,还可以有新元素入队吗?假溢出

知识拓展顺序队列的假溢出:随着队首元素出队会慢慢的空出一个个储存单元,但是队尾一直在进,最后导致前面的储存空间未满就队列就满了解决办法:将顺序队列做成循环队列!

队列的基本操作ABC0123tailhead0123tailhead队首元素:队尾元素:入队:出队:判断非空队:求队列长度:que[head]que[tail]=“新元素”;tail+=1head=head+1ifhead!=tailtail-headque[tail-1]

课后练习1.已知队列元素的个数为6,则队首指针head和队尾指针tail的值不可能的是()A.head=0,tail=6B.head=6,tail=0C.head=3,tail=2D.head=3,tail=8D

课后练习2.用python列表模拟循环队列,并设置队首指针head指向队首元素,队尾指针指向队尾元素的下一个位置,则当列表长度n=10,head=6,tail=3时,队列中元素的个数为()A.5B.6C.7D.8C

感谢您的观看Thankyouforwatching主讲人:张小可

文档评论(0)

qwere111119 + 关注
实名认证
内容提供者

音乐

1亿VIP精品文档

相关文档