1-1
若一个栈的输入序列为1,2,3,…,N,输出序列的第一个元素是i,则第j个输出元素是j−i−1。
F
1-2
若一个栈的输入序列为{1, 2, 3, 4, 5},则不可能得到{3, 4, 1, 2, 5}这样的出栈序列。
T
1-3
所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。
F
特指循环数组
1-4
在用数组表示的循环队列中,front值一定小于等于rear值。
F
循环数组 大于小于等于都有可能
大于max后会取余
1-5
栈和队列的存储方式,既可以是顺序方式,也可以是链式方式。
T
2-1
假设有5个整数以1、2、3、4、5的顺序被压入堆栈,且出栈顺序为3、5、4、2、1,那么为了获得这样的输出,堆栈大小至少为:
A.2
B.3
C.4
D.5
c
2-2
设一个栈的输入序列是1、2、3、4、5,则下列序列中,是栈的合法输出序列的是?
A.3 2 1 5 4
B.5 1 2 3 4
C.4 5 1 3 2
D.4 3 1 2 5
a
2-3
设一个堆栈的入栈顺序是1、2、3、4、5。若第一个出栈的元素是4,则最后一个出栈的元素必定是:
A.1
B.3
C.5
D.1或者5
d
2-4
现有队列 Q 与栈 S,初始时 Q 中的元素依次是{ 1, 2, 3, 4, 5, 6 }(1在队头),S 为空。若允许下列3种操作:(1)出队并输出出队元素;(2)出队并将出队元素入栈;(3)出栈并输出出栈元素,则不能得到的输出序列是:
A.1, 2, 5, 6, 4, 3
B.2, 3, 4, 5, 6, 1
C.3, 4, 5, 6, 1, 2
D.6, 5, 4, 3, 2, 1
c
2-5
若用大小为6的数组来实现循环队列,且当前front和rear的值分别为0和4。当从队列中删除两个元素,再加入两个元素后,front和rear的值分别为多少?
A.2和0
B.2和2
C.2和4
D.2和6
a
2-6
如果循环队列用大小为m的数组表示,队头位置为front、队列元素个数为size,那么队尾元素位置rear为:
A.front+size
B.front+size-1
C.(front+size)%m
D.(front+size-1)%m
d
2-7
在一个不带头结点的非空链式队列中,假设f和r分别为队头和队尾指针,则插入s所指的结点运算是( )。
A.f->next=s; f=s;
B.r->next=s; r=s;
C.s->next=s; r=s;
D.s->next=f; f=s;
b