1.对于栈操作数据的原则是(B)。【青岛大学2001】
A.先进先出
B.后进先出
C.后进后出
D.不分顺序
2.在作进栈运算时,应先判别栈是否(①B),在作退栈运算时应先判别栈是否(②A)。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为(③B)。
为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的(④C)分别设在这片内存空间的两端,这样,当(⑤D)时,才产生上溢。【上海海运学院1997】【上海海运学院1999】①,②:A.空B.满C.上溢D.下溢
③:A.n-1B.nC.n+1D.n/2
④:A.长度B.深度C.栈顶D.栈底
⑤:A.两个栈的栈顶同时到达栈空间的中心点.
B.其中一个栈的栈顶到达栈空间的中心点.
C.两个栈的栈顶在栈空间的某一位置相遇.
D.两个栈均不空,且一个栈的栈顶到达另一个栈的栈底.
3.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i
(1<=i<=n)个元素是(B)。【中山大学1999】
A.不确定
B.n-i+1
C.i
D.n-i
4.若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是(C)。【武汉大学2000】
A.i-j-1
B.i-j
C.j-i+1
D.不确定的
5.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p
1,p
2
,p
3
,…,p
N
,若
pN是n,则p
i
是(C)。【南京理工大学2001】
A.i
B.n-i
C.n-i+1
D.不确定
6.有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈
序列?()【北方交通大学2001】
A.543612
B.453126
C.346521
D.234156
7.设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。
A.1,2,4,3,
B.2,1,3,4,
C.1,4,3,2,
D.4,3,1,2,
E.3,2,1,4,【中科院计算所2000】
8.一个栈的输入序列为12345,则下列序列中不可能是栈的输出序列的是()。【南开大学2000】【山东大学2001】【北京理工大学2000】
A.23415
B.54132
C.23145
D.15432
9.设一个栈的输入序列是1,2,3,4,5,则下列序列中,是栈的合法输出序列的是()。【合肥工业大学2001】
A.51234
B.45132
C.43125
D.32154
10.某堆栈的输入序列为a,b,c,d,下面的四个序列中,不可能是它的输出序列的是()。【北京航空航天大学2000】【北京邮电大学1999】
A.a,c,b,d
B.b,c,d,a
C.c,d,b,a
D.d,c,a,b
11.设abcdef以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为()。【南京理工大学1996】
A.fedcbaB.bcafedC.dcefbaD.cabdef
12.设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是()。【南京理工大学1997】
A.XYZB.YZXC.ZXYD.ZYX
13.输入序列为ABC,可以变为CBA时,经过的栈操作为()【中山大学1999】
A.push,pop,push,pop,push,pop
B.push,push,push,pop,pop,pop
C.push,push,pop,pop,push,pop
D.push,pop,push,push,pop,pop
14.若一个栈以向量V[1..n]存储,初始栈顶指针top为n+1,则下面x进栈的正确操作是()。【南京理工大学1998】
A.top=top+1;V[top]=xB.V[top]=x;top=top+1
C.top=top-1;V[top]=x
D.V[top]=x;top=top-1
15.若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i个栈(i=1,2)栈顶,栈1的底在v[1],栈2的底在V[m],则栈满的条件是()。
A.|top[2]-top[1]|=0
B.top[1]+1=top[2]
C.top[1]+top[2]=m
D.top[1]=top[2]【南京理工大学1999】
16.栈在()中应用。【中山大学1998】
A.递归调用
B.子程序调用
C.表达式求值
D.A,B,C
17.一个递归算法必须包括()。【武汉大学2000】
A.递归部分
B.终止条件和递归部分
C.迭代部分
D.终止条件和迭代部分
18.执行完下列语句段后,i值为:()【浙江大学2000】
intf(intx)
{return((x>0)x*f(x-1):2);}
inti;
i=f(f(1));
A.2B.4C.8D.无限递归
19.表达式a*(b+c)-d的后缀表达式是()。【南京理工大学2001】A.abcd*+-B.abc+*d-C.abc*+d-D.-+*abcd
20.设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构最佳。【西安电子科技大学1996】
A.线性表的顺序存储结构B.队列C.线性表的链式存储结构D.栈
21.用链接方式存储的队列,在进行删除运算时()。【北方交通大学2001】
A.仅修改头指针
B.仅修改尾指针
C.头、尾指针都要修改
D.头、尾指针可能都要修改
22.用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时()。【北京理工大学2001】
A.仅修改队头指针B.仅修改队尾指针
C.队头、队尾指针都要修改
D.队头,队尾指针都可能要修改
23.递归过程或函数调用时,处理参数及返回地址,要用一种称为()的数据结构。【福州大学1998一、1(2分)】
A.队列B.多维数组C.栈D.线性表
24.假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。【北京工商大学2001】