(完整word版)栈和队列练习_第1页
(完整word版)栈和队列练习_第2页
(完整word版)栈和队列练习_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、栈和队列一、选择题1、一个栈的输入序列为: a , b , c , d , e ,则栈的不可能输出的序列是(C )。A. a,b,c,d,eB. d,e,c,b,aC. d,c,e,a,bD. e,d,c,b,a2、判断一个循环队列Q(最多 n 个元素)为满的条件是(C)。A. Q->rear=Q->frontB. Q->rear=Q->front+1C. Q->front=(Q->rear+1)%nD. Q->front=(Q->rear-1)%n3、设计一个判别表达式中括号是否配对的算法,采用(D)数据结构最佳。A. 顺序表B.链表C.队列D

2、.栈4 、5 、一个栈的输入序列为:1,2,3,4,则栈的不可能输出的序列是(D)。A. 1243B. 2134C. 1432D. 4312E. 32146 、若用一个大小为6 的数组来实现循环队列,且当rear列中删除一个元素,再加入两个元素后,rear和 frontA.1和5B.2和4C.4和2和 front的值分别为 0 , 3。当从队的值分别为(B)。D.5和17 、队列的插入操作是在(A)。A.队尾B.队头 C.8 、循环队列的队头和队尾指针分别为(A)。队列任意位置front和 rearD.队头元素后,则判断循环队列为空的条件是A. front=rearB. front=0C. r

3、ear=0D. front=rear+19 、一个顺序栈S,其栈顶指针为A. *S->top=e;S->top+;top,则将元素 e 入栈的操作是(AB. S->top+;*S->top=e;)。C. *S->top=eD. S->top=e;10 、表达式a*(b+c)-d的后缀表达式是(B)。A. abcd+-B. abc+*d-C. abc*+d-D. -+*abcd11 、将递归算法转换成对应的非递归算法时,通常需要使用(A.队列B.栈C.链表B)来保存中间结果。D.树12 、栈的插入和删除操作在(B)。A.栈底B.栈顶C.任意位置D.指定位置13

4、 、五节车厢以编号1, 2, 3 ,4 ,5 顺序进入铁路调度站(栈),可以得到(编组。A. 3,4,5,1,2B. 2,4,1, 3,5C)的出站C. 3, 5,4,2,114 、判定一个顺序栈S(栈空间大小为D. 1,3,5,2,4n )为空的条件是(A)。A. S->top=0B. S->top!=0C. S->top=nD. S->top!=n15 、在一个链队列中,(C)。front和 rear分别为头指针和尾指针,则插入一个结点s 的操作为A. front=front->nextB. s->next=rear;rear=sC. rear->

5、next=s;rear=s;D. s->next=front;front=s;16 、一个队列的入队序列是A. 1, 2,3,4C. 1, 4,3,21 , 2 ,3 ,4 ,则队列的出队序列是(B. 4,3,2,1D. 3,4,1,2A)。17 、依次在初始为空的队列中插入元素队头元素是( C)。a,b,c,d以后,紧接着做了两次删除操作,此时的A. aB. bC. cD. d18 、正常情况下,删除非空的顺序存储结构的堆栈的栈顶元素,栈顶指针(D)。top的变化是A. top不变B. top=0C. top=top+1D. top=top-119 、判断一个循环队列Q(空间大小为A.

6、 Q->front=Q->rearC. Q->front+1=Q->rearM)为空的条件是(A)。B. Q->rear-Q->front-1=MD. Q->rear+1=Q->front20、设计一个判别表达式中左右括号是否配对出现的算法,采用(C)数据结构最佳。A.线性表的顺序存储结构B.队列C.栈D.线性表的链式存储结构21、当用大小为N的数组存储顺序循环队列时,该队列的最大长度为(C)。A. NB. N+1C. N-1D. N-222、队列的删除操作是在(A)。A.队首B.队尾C.队前D.队后23、若让元素 1, 2,3依次进栈,则出栈次

7、序不可能是(C)。A.3,2,1B.2,1,3C. 3,1,224 、循环队列用数组A0 ,m-1 存放其元素值,已知其头尾指针分别是当前队列中的元素个数是(A)。D.1,3,2front和 rear,则A. (rear-front+m)%mB. rear-front+1C. rear-front-1D. rear-front25 、在解决计算机主机和打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取走数据打印。应该是一个(B)结构。A.堆栈B.队列C.数组D.线性表26 、栈和队列都是(C)。A.链式存储的线性结构B.链式存储

8、的非线性结构C.限制存取点的线性结构D.限制存取点的非线性结构该缓冲区27 、在一个链队列中,假定(A)。front 和 rear分别为队头指针和队尾指针,删除一个结点的操作是A. front=front->nextC. rear->next=frontB. rear= rear->nextD. front->next=rear28、队和栈的主要区别是(D)。A.逻辑结构不同C.所包含的运算个数不同B.存储结构不同D.限定插入和删除的位置不同二、填空题1 、设栈 S和队列栈后即进入队列是3Q的初始状态为空,元素e1,e2,e3,e4,e5,e6Q,若 6 个元素出队的序

9、列是e2,e4,e3,e6,e5,e1。依次通过栈 S,一个元素出,则栈的容量至少应该2 、一个循环队列 Q的存储空间大小为M, 其队头和队尾指针分别为列中元素的个数为:rear-front+M)%M。front和 rear,则循环队3 、在具有n 个元素的循环队列中,队满时具有n-1个元素。4 、设循环队列的容量为则队列中元素的个数为70 ,现经过一系列的入队和出队操作后,61。front为 20 ,rear为11 ,5、已知循环队列的存储空间大小为20,且当前队列的头指针和尾指针的值分别为8和 3,且该队列的当前的长度为_15_。四、程序分析填空题1 、已知栈的基本操作函数:int InitStack(SqStack *S); /构造空栈int StackEmpty(SqStack *S);/判断栈空int Push(SqStack *S,ElemType e);/入栈int Pop(SqStack *S,ElemType *e);/出栈函数 conversion实现十进制数转换

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论