#631. 小码君的选择题(栈和队列)

小码君的选择题(栈和队列)

题目描述

第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;
}