小码君的选择题(栈和队列)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
第01题
1.某个车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时刻该车站状态为空,
从 这一时刻开始的出入记录为:“进,出,进,进,进,出,出,进,进,进,出,出”。假设车辆
入站的 顺序为1,2,3,……,则车辆出站的顺序为( )。
A. 1, 2, 3, 4, 5 B. 1, 2, 4, 5, 7
C. 1, 4, 3, 7, 6 D. 1, 4, 3, 7, 2
第02题
2. 设栈S的初始状态为空,元素a, b, c, d, e 依次入栈,以下出栈序列不可能出现的有( )。
A. a, b, c, e, d B. b, c, a, e, d
C. a, e, c, b, d D. d, c, e, b, a
第03题
3、有六个元素FEDCBA 从左至右依次顺序进栈,在进栈过程中会有元素被弹出栈。问下列哪一个不
可能是合法的出栈序列?
A. EDCFAB B. DECABF C. CDFEBA D. BCDAEF
第04题
4、 表达式a*(b+c)-d的后缀表达式是:
A.abcd*+- B.abc+*d- C. abc*+d- D.-+*abcd
第05题
5.元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第一个出栈的是R3,那么
第五个出栈的不可能是( )。
A.R1 B.R2 C.R4 D.R5
第06题
6. 如果一个栈初始时为空,且当前栈中的元素从栈底到栈顶依次为a,b,c,另有元素d已经出栈,
则可能的入栈顺序是( )。
A.a, d, c, b B.b, a, c, d C.a, c, b, d D.d, a, b, c
第07题
7. 今有一空栈 S,对下列待进栈的数据元素序列 a,b,c,d,e,f 依次进行进栈,进栈,出栈, 进栈,进栈,出栈的操作,
则此操作完成后,栈 S 的栈顶元素为( )。
A.f B. c C. a D.b
第08题
8.( )是一种先进先出的线性表。
A.栈 B.队列 C.哈希表(散列表) D.二叉树
第09题
9. 表达式 a * (b + c) * d 的后缀形式是( )。
A. a b c d * + * B. a b c + * d *
C. a * b c + * d D. b + c * a * d
第10题
10. 对于入栈顺序为 a, b, c, d, e, f, g 的序列,下列( )不可能是合法的出栈序列。
A. a, b, c, d, e, f, g B. a, d, c, b, e, g, f
C. a, d, b, c, g, f, e D. g, f, e, d, c, b, a
数据范围与提示
提交说明
复制下面的示范代码,将其对应选项改为正确答案即可(全是大写字母A、B、C、D)
示范代码
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin >> n;
if(n==1)
{
printf("A");//此处填第01题答案
}
if(n==2)
{
printf("B");//此处填第02题答案
}
if(n==3)
{
printf("C");//此处填第03题答案
}
if(n==4)
{
printf("D");//此处填第04题答案
}
if(n==5)
{
printf("C");//此处填第05题答案
}
if(n==6)
{
printf("C");//此处填第06题答案
}
if(n==7)
{
printf("A");//此处填第07题答案
}
if(n==8)
{
printf("C");//此处填第08题答案
}
if(n==9)
{
printf("C");//此处填第09题答案
}
if(n==10)
{
printf("A");//此处填第10题答案
}
return 0;
}