第3章栈、队列和数组
§3.1 栈
考点 1 栈的概念
题组闯关
1.一个栈的入栈顺序序列是 ABCDE,则不可能的出栈序列是 ( )。
A. ABCDE
B. EDCBA
C. DECBA
D. DCEAB2.已知操作符包括 “+”“-”“×”“/”“(” 和 “)”。将中缀表达式a+b−a×((c+d)/e−f)+g转换为后缀表达式ab+acd+e/f−×−g+时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是 ( )。
A. 5
B. 7
C. 9
D. 113.若已知一个栈的进栈序列是1,2,3,⋯,n,其输出序列为p1,p2,p3,⋯,pn。若p1=3,则p2为 ( )。
A. 可能是 2
B. 一定是 2
C. 可能是 1
D. 一定是 14.一个栈的入栈序列为1,2,3,4,⋯,n,其出栈序列是p1,p2,p3,⋯,pn。若p2=3,则p3可能取值的个数是 ( )。
A. n−3
B. n−2
C. n−1
D. 无法确定5.一个栈的输入序列为1,2,3,4,⋯,n,若输出序列的第一个元素是n,输出第i个元素是 ( )。
A. 不确定
B. n−1
C. i
D. n−i+16.设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入队列Q,且 7 个元素出列的顺序是b,d,c,e,g,f,a,则栈S的容量至少是 ( )。
A. 1
B. 2
C. 3
D. 47.由两个栈共享一个向量空间的好处是 ( )。
A. 减少存取时间,降低上溢发生的几率
B. 节省存储空间,降低上溢发生的几率
C. 减少存取时间,降低下溢发生的几率
D. 节省存储空间,降低下溢发生的几率真题实战(题组闯关对应真题)
1.若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈工作,则不可能得到的出栈序列是 ( )。【北京化工大学 2019 年】
A. dcebfa
B. cbdaef
C. bdceaf
D. afedcb2.给定有限符号集S,in 和 out 均为S中所有元素的任意排列。对于初始为空的栈ST,下列叙述中,正确的是 ( )。【全国统考 2022 年】
A. 若 in 是ST的入栈序列,则不能判断 out 是否为其可能的出栈序列
B. 若 out 是ST的出栈序列,则不能判断 in 是否为其可能的入栈序列
C. 若 in 是ST的入栈序列,out 是对应 in 的出栈序列,则 in 与 out 一定不同
D. 若 in 是ST的入栈序列,out 是对应 in 的出栈序列,则 in 与 out 可能互为倒序考点 2 顺序栈
题组闯关
若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i个栈(i=1,2)栈顶,栈 1 的底在V[1],栈 2 的底在V[m],则栈满的条件是 ( )。
A. ∣top[2]−top[1]∣=0
B. top[1]+1=top[2]
C. top[1]+top[2]=m
D. top[1]=top[2]真题实战
1.若一个栈以向量V[1..n]存储,初始栈顶指针top为n+1,则下面x入栈的正确操作是 ( )。【中国科学院大学 2015 年】
A. top=top+1;V[top]=x
B. V[top]=x;top=top+1
C. top=top−1;V[top]=x
D. V[top]=x;top=top−12.若双栈共享空间S[0..n−1],初始时top1=−1,top2=n,则判栈满为真的条件是 ( )。【北京邮电大学 2016 年】
A. top1==top2
B. top1−top2==1
C. top1+top2==n
D. top2−top1==13.若有一线stack[0..n−1],初始时栈顶指针top为n,则以下元素x进栈的正确操作是 ( )。【武汉大学 2015 年】
A. top++;stack[top]=x;
B. stack[top]=x;top++;
C. top−−;stack[top]=x;
D. stack[top]=x;top−−;考点 3 链栈
题组闯关
向一个栈顶指针为top的链栈中插入一个x节点,则执行 ( )。
A. top−>next=x;
B. x−>next=top−>next;top−>next=x;
C. x−>next=top;top=x;
D. x−>next=top;top=top−>next;真题实战
链式栈与顺序栈相比,一个比较明显的优点是 ( )。【宁波大学 2012 年】
A. 插入操作更加方便
B. 通常不会出现栈满的情况
C. 不会出现栈空的情况
D. 删除操作更加方便考点 4 栈的应用
题组闯关
1.以下哪个选项中不会应用到栈 ( )。
A. 递归
B. 图的广度优先搜索
C. 表达式求值
D. 树的深度优先遍历2.表达式3×2∗(4+2×2−6×3)−5,求值过程中当扫描到 6 时,对象栈和算符栈为 ( ),其中 ^ 为乘幂。
A. 3,2,8;×−
B. 3,2,4,2,2;×+×−
C. 3,2,4,2,2;×(+×−
D. 3,2,8;×(−3.有函数intfunc(inti)的实现如下:
int func(int i) { if (i > 1) return i * func(i - 1); else return 1; }请问函数调用func(5)的返回值是多少 ( )。
A. 5
B. 15
C. 20
D. 120
4. 一个问题的递归算法求解和其相对应的非递归算法求解相比 ( )。
A. 递归算法通常高效一些
B. 非递归算法通常高效一些
C. 两者相同
D. 无法比较
5. 当执行函数时,其局部变量的存储一般采用 ( ) 进行存储。
A. 树
B.
数据结构摘星题库800题笔记 第3章栈、队列和数组
最新推荐文章于 2025-10-25 20:24:06 发布

最低0.47元/天 解锁文章
919

被折叠的 条评论
为什么被折叠?



