资源描述:
《数据结构栈和队列练习题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章栈和队列一选择题1.对于栈操作数据的原则是()。A.先进先出B.后进先出C.后进后出D.不分顺序2.在作进栈运算时,应先判别栈是否(①),在作退栈运算时应先判别栈是否(②)。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为(③)。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的(④)分别设在这片内存空间的两端,这样,当(⑤)时,才产生上溢。①,②:A.空B.满C.上溢D.下溢③:A.n-1B.nC.n+1D.n/2④:A.长度B.深度C.栈顶D.栈底⑤:A.两个栈的栈顶同时到达栈
2、空间的中心点.B.其中一个栈的栈顶到达栈空间的中心点.C.两个栈的栈顶在栈空间的某一位置相遇.D.两个栈均不空,且一个栈的栈顶到达另一个栈的栈底.3.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。A.不确定B.n-i+1C.iD.n-i4.若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是()。A.i-j-1B.i-jC.j-i+1D.不确定的5.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pN,若pN是n,则pi是()
3、。A.iB.n-iC.n-i+1D.不确定6.有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列?()A.543612B.453126C.346521D.2341567.设栈的输入序列是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,8.一个栈的输入序列为12345,则下列序列中不可能是栈的输出序列的是()。A.23415B.54132C.23145D.15432(2分)】9.设一个栈的输入序列是1,2,3,4,5,则下列
4、序列中,是栈的合法输出序列的是()。A.51234B.45132C.43125D.3215410.某堆栈的输入序列为a,b,c,d,下面的四个序列中,不可能是它的输出序列的是()。A.a,c,b,dB.b,c,d,aC.c,d,b,aD.d,c,a,b11.设abcdef以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为()。A.fedcbaB.bcafedC.dcefbaD.cabdef12.设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是()。A.XYZB.YZXC.ZXYD.ZYX13.
5、输入序列为ABC,可以变为CBA时,经过的栈操作为()A.push,pop,push,pop,push,popB.push,push,push,pop,pop,popC.push,push,pop,pop,push,popD.push,pop,push,push,pop,pop14.若一个栈以向量V[1..n]存储,初始栈顶指针top为n+1,则下面x进栈的正确操作是()。A.top:=top+1;V[top]:=xB.V[top]:=x;top:=top+1C.top:=top-1;V[top]:=xD.V[top]:=x;top:=t
6、op-115.若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i个栈(i=1,2)栈顶,栈1的底在v[1],栈2的底在V[m],则栈满的条件是()。A.
7、top[2]-top[1]
8、=0B.top[1]+1=top[2]C.top[1]+top[2]=mD.top[1]=top[2]16.栈在()中应用。A.递归调用B.子程序调用C.表达式求值D.A,B,C17.一个递归算法必须包括()。【武汉大学2000二、2】A.递归部分B.终止条件和递归部分C.迭代部分D.终止条件和迭代部分18.执行完下列语句段后,i值为
9、:()intf(intx){return((x>0)?x*f(x-1):2);}inti;i=f(f(1));A.2B.4C.8D.无限递归19.表达式a*(b+c)-d的后缀表达式是()。A.abcd*+-B.abc+*d-C.abc*+d-D.-+*abcd20.表达式3*2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和算符栈为(),其中^为乘幂。A.3,2,4,1,1;(*^(+*-B.3,2,8;(*^-C.3,2,4,2,2;(*^(-D.3,2,8;(*^(-21.设计一个判别表达式中左,右括号是否配对出现的算法
10、,采用()数据结构最佳。A.线性表的顺序存储结构B.队列C.线性表的链式存储结构D.栈22.用链接方式存储的队列,在进行删除运算时()。A.仅修改头指针B.仅修改尾指针C.头、尾指针都要修改D