- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
栈和队列补充习题 一、选择题(下列各小题均有一个答案是正确的) A、i B、n-i 1、一入栈序列1,2…n输出是p1,p2…pn若p1=n,则pi C、n-i+1 D、不确定 ( ) A、ST-top!=0 B、ST-top==0 C、sT-top!=m0 D、ST-top==m0-1 2、判定栈ST(最多元素为m0)为空的条件是 ( ) A、Q-rear-Q-front==m0 B、Q-rear-Q-front-1==m0 C、Q-front==Q-rear D、Q-front==Q-rear+1 3、判定链队列Q(最多元素为m0)为空的条件是 ( ) A、Q-front==Q-rear B、Q-front!=Q-rear C、Q-front=(Q-rear+1)%m0 D、 Q-front!=(Q-rear+1)%m0 4、判定循环队列Q(最多元素为m0)为空的条件是 ( ) A、Q.rear=Q.front-next B、Q.rear-next=Q.rear-next-next C、Q.front-next=Q.front-next-next D、Q.front=Q.rear-next 5、在链队列Q中删除一结点需要执行的命令是 ( ) B C C A C 一、选择题(下列各小题均有一个答案是正确的接上) A、Q.front-next=s;f=s; B、Q.rear-next=s;Q.rear=s; 6、链队列Q中,若插入结点s需顺序执行的指令是 C、S-next=Q.rear;Q.rear=s; D、S-next=Q.front;Q.front=s; ( ) A、链头 B、链中 C、链尾 D、不确定 7、用单链表表示的链式队列 的队头在链表中( )位置 ( ) A、AB-C+D/E* B、ABC+D/E*- C、ABCD/E*+- D、ABCD/+E*- 8、中缀表达式A-(B+C/D)*E的后缀表达式是 ( ) A、Q-front==Q-rear B、Q-front!=Q-rear C、Q-front=(Q-rear+1)%m0 D、 Q-front!=(Q-rear+1)%m0 9、判定循环队列Q(最多元素为m0)为满的条件是 ( ) A、+*3-527 B、*3-52+7 C、*+-3527 D、*3-+527 10、3*(5-2)+7的前缀表达式是 ( ) A B D C A 二、填空题(请用正确答案填充下列空白) 1、向栈中压入元素的操作是先____________后___________; 存入元素 移动栈顶指针 2、循环队列中删除一个元素时则应该先________后_________; 移动头指针 取元素 3、在具有N个存储单元的循环队列中,队满时共有______个元素; N-1 4、在链队列Q中判定只有一个结点的条件是_________________; Q.front-next==Q.rear 5、栈S和队列Q的初始状态为空,元素a,b,c,d,e,f依次通过栈S,一个元 素出栈后即进入队列Q,若这6个元素出队列的顺序是b,d,c,f,e,a则栈 S的容量至少应该是___________ ; 3 6、非空队列中,头指针始终指向___________________,而尾指针 则始终指向队列_____元素的____一个位置; 队列头元素 尾 下 7、栈和队列的共同特点 是_____________________________; 只允许在端点处进行插入和删除元素 8、对不带头结点的链式队列,其队头指针指向队头结点,对尾指针指向队 尾结点,则进行出队操作时队头指针______修改,对尾指针 ___修 改,填写(要或不要或可能要); 可能要 可能要 三、阅读下列程序段,请说明这些程序段所描述的算法的功能。 (1) Status algol(stack s) (2) status algol2(stack s,int e) { int i,n=0,a[255]; { stack t; int d; while(!stackempty(s)) initstack(t); { n++; while(!stackempty(s)) pop(s,a[n]); } { pop(s,d);
文档评论(0)