数据结构第3章-栈和队列习题课.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习题课 第3章 栈和队列 3.1 (1) 123 , 132 , 213 , 231 , 321 (2) 435612不能得到(6出站时,12必须在站中,只能出站成21,无法得到12) 135426可以 1S1X2S3S3X4S5S5X4X2X6S6X (1)如果进站的车厢序列为123,则可能得到的出站车厢序列是什么? (2)如果进站的车厢序列为123456,则能否得到435612和135426出站序列,并请说明为什么不能得到或如何得到。 3.4简述以下算法的功能 分析: while循环 将栈中数据依次出栈到A数组 for循环 将数组A中元素依次入栈 结果: 将堆栈中的元素逆序 (1)status algol(Stack S){ int I,n,A[255]; n = 0; while (!Stackempty(S)) {n++;Pop(S,A[n]);} for (i=1 ; i=n ; i++) Push(S,A[i]); } 3.4简述以下算法的功能 分析: 第一个while循环:将S栈中不等于e的元素放入T栈。最后S为空栈 第二个while循环:将T栈中元素出栈到S栈 结果: 将堆栈S中不等于e的元素逆序 (2) status algo2(Stack S , int e){ Stack T ; int d ; InitStack(T); while (! StackEmpty(S)){ Pop(S,d); if (d!=e) Push(T,d); } while(!Stackempty(T)){ Pop(T,d); Push(S,d); } } 3.12写出以下程序段的输出结果 分析: [队列] x y 1. [h] e c 2. [hr] e c 3. [hrc] e c 4. [rc] h c 5. [rch] h c 6. [ch] r c 7. [cha] r c 结果: char Void main(){ Queue Q ; InitQueue(Q); char x=‘e’ , y =‘c’ ; EnQueue(Q,’h’); //1 EnQueue(Q,’r’); //2 EnQueue(Q,y); //3 DeQueue(Q,x); //4 Enqueue(Q,x); //5 DeQueue(Q,x); //6 EnQueue(Q,’a’); //7 while (!QueueEmpty(Q)){ DeQueue(Q,y); printf(y); } printf(x); } 3.14 以1234作为双端队列的输入序列,分别求出满足以下条件的输出序列 解: 可能的组合(24种) 1234,1243,1324,1342,1423,1432, 2134,2143,2314,2341,2413,2431, 3124,3142,3214,3241,3412,3421, 4123,4132,4213,4231,4312,4321 输入受限不能得到:4213 4231 输出受限不能得到:4132 4231 都不能得到:4231 (1)4213 (2)4132 (3)4231 (1)能由输入受限的双端队列得到,但不能由输出受限的双端队列得到的输出序列 (2)能由输出受限的双端队列得到,但不能由输入受限的双端队列得到的输出序列 (3)既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的输出序列 3.16 n节硬席或软席车厢调度成软席在硬席之前 HSSHS = SSSHH 思路:判断每节车厢,如果是H的只入栈,如果是S则入栈后出栈 InitStack(T); while (入口有车厢e){ if (e==‘H’) push(T,e); else {push(T,e);p

文档评论(0)

霞霞147 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档