分类
Level6

22、栈和队列

1、有 6 个元素,按照6、5、4、3、2、1 的顺序进入栈 S,请问下列哪个出栈序列是非法的( )。
A.5 4 3 6 1 2
B.4 5 3 1 2 6
C.3 4 6 5 2 1
D.2 3 4 1 5 6
2、对于入栈顺序为 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
3、对假设栈 S 和队列 Q 的初始状态为空。存在 e1~e6 六个互不相同的数据,每个数据按照进栈 S、出栈 S、进队列 Q、出队列 Q 的顺序操作,不同数据间的操作可能会交错。已知栈 S 中依次有数据e1、e2、e3、e4、e5 和 e6 进栈,队列 Q 依次有数据 e2、e4、e3、e6、e5 和 e1 出队列。则栈 S 的容量至少是( )个数据。
A.2
B.3
C.4
D.6
4、如果一个栈初始时为空,且当前栈中的元素从栈底到栈顶依次为 a, b, c(如下图所示),另有元素 d 已经出栈,则可能的入栈顺序是( )。
A.a,d,c,b
B.b,a,c,d
C.a,c,b,d
D.d,a,b,c
5、今有一空栈 S,对下列待进栈的数据元素序列 a,b,c,d,e,f 依次进行进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈 S 的栈顶元素为( )。
A.c
B.f
C.a
D.b
6、设计一个判断左、右括号是否配对出现的算法,采用( )数据结构最佳。
A.队列
B.线性表的顺序存储结构
C.栈
D.线性表的链式存储结构
7、栈和队列的共同点是:
A.都是先进先出
B.都是先进后出
C.只允许在端点处插入和删除元素
D.没有共同点
8、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入队列Q,若是六个元素出栈的序列是e2、e4、e3、e6、e5和e1,那么栈S的容量至少应该是( )。
A.2
B.3
C.4
D.6
9、向一个栈顶指针为 hs 的链式栈中插入一个指针 s 指向的结点时,应执行( )。
A.hs->next=s;
B.s->next=hs; hs=s;
C.s->next=hs->next; hs->next=s;
D.s->next=hs; hs=hs->next;
10、用链式方式存储的队列,在进行删除运算时:
A.仅修改头指针
B.仅修改尾指针
C.头、尾指针一定都要修改
D.头、尾指针可能都要修改