内容正文:
栈选择题专题
班级 姓名
1.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可能出栈,则5个元素全部出栈后,出栈的序列可能是( )
A.ABCED B.DBCEA C.CDABE D.DCBEA
2.元素a,b,c,d,e,f依次入栈,若第1个出栈的元素是d,则不可能是第3个出栈的元素是( )
A.a B.b C.c D.e
3.设n个元素的进栈序列是1,2,3, ⋯ ,𝑛,出栈序列是𝑝1,𝑝2, ⋯ , 𝑝𝑛。若𝑝2=4,则𝑝1的值( )
A.可能是2 B.一定是5 C.可能是6 D.不可能是1
4.若入栈顺序为1,2,3,4,5,6,7,出栈序列为1,4,3,2,7,6,5,则栈深度至少是( )
A.3 B.4 C.5 D.6
5.公交车上有时候会出现人太多无法挤到后门下车而从前门下车的情况,因此若一个序列在有3个或以下元素时按队列方式离开序列,但在(3个以上)元素时按栈方式离开序列,则对于依次进入序列的x1,x2,x3,x4,x5,x6,离开序列的顺序可能为( )
A.x1,x4,x6,x2,x3,x5 B.x4,x1,x6,X2,x3,x5
C.x1,x2,x3,X6,X4,x5 D.x6,x5,x4,x3,x1,x2
6.若入栈顺序为1,2,3,4,5,6,7,出栈序列为1,4,3,2,7,6,5,则栈深度至少是( )
A.3 B.4 C.5 D.6
7.用>表示进栈操作,<表示出栈操作,若元素进栈的顺序为“+/*\%”,出栈顺序为“+\*%/”,则由>和<表示的操作串是( )
A.><>>><<><< B.><>><><<>< C.>>>><<><<< D.><>>>><<<<
8.一个序列的出栈顺序为1,2,3,4,5,则该序列的入栈顺序不可能为( )
A.3,2,1,5,4 B.5,4,3,2,1 C.4,5,2,1,3 D.2,1,4,3,5
9.下列有关队列与栈的说法,不正确的是( )
A.队列和栈都是线性表结构,都可以用数组实现
B.队列的队首元素和栈的栈顶元素都是最先入列元素
C.队列和栈的中间元素(不包含首尾)都既有前驱点,又有后继点
D.队列允许队尾插入,队首删除,而栈底不允许插入和删除操作
10.某APP采用栈结构处理数据,具体的规则如下:
①输入待加入的元素,并转到②
②若栈为空,则转到⑤,否则转到③
③若当前待加入元素与栈顶元素的值相同,则转到④,否则转到⑤
④将栈顶元素出栈,并转到①
⑤将当前待加入元素入栈,并转到①
将元素“ABBACAAAD”,按以上规则依次入栈,则处理后栈中元素从栈底至栈顶依次是( )
A.C D B.C A D C.A A C D D.A B C A D
11.有如下Python程序段:
#随机产生n个两位正整数存入数组a中
q=[-1]*n;top=-1
for i in range(n):
if a[i]%3==0 :
top+=1
q[top]=a[i]
elif a[i]>q[top] and a[i]%2==0:
top+=1
q[top]=a[i]
while top>-1:
print(q[top],end=',') ; top-=1
执行上述程序段后,输出结果不可