资源描述:
《数据结构习题讲课教案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构习题精品文档栈与队列练习题一、单项选择题1.栈和队列的共同特点是()。A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点2.元素A,B,C,D,依次进顺序栈后,栈顶元素是(),栈底元素是()。A.AB.BC.CD.D3.栈操作数据的原则是()。A.先进先出B.后进先出C.后进后出D.分顺序4.经过以下栈运算后,x的值是()。InitStack(s);Push(s,a);Push(s,b);Pop(s,x);Gettop(s,x)A.aB.bC.1D.05.设一个栈的输入序列为A,B,C,D,则借助一个栈所得到
2、的输出序列不可能是()。A.ABCDB.DCBAC.ACDBD.DABC6.已知一个栈的进栈序列是1,2,3,…,n,其输出序列是p1,p2,…pn,若P1等于n,则pi的值()A.iB.n-iC.n-i+1D.不确定7.设n个元素进栈序列是1,2,…,n,其输出序列是p1,p2,…,pn,若p1=3,则p2的值()。A.可能是2B.一定是2C.可能是1D.一定是18.经过以下队列运算后,队头的值是()InitQueue(qu);enQueue(qu,a);enQueue(qu,b);enQueue(qu,c);deQueue(qu)收集于网络
3、,如有侵权请联系管理员删除精品文档A.aB.bC.1D.01.经过以下队列运算后,QueueEmpty(q)的值是()InitQueue(qu);enQueue(qu,a);enQueue(qu,b);deQueue(qu,x);deQueue(qu,y)A.aB.bC.1D.010.元素A,B,C,D顺序连续进入队列qu后,队头元素是(),队尾元素是()。A.AB.BC.CD.D11.设循环队列中数组的下标是0~N-1,其头尾指针分别为f和r,则其元素个数为()。A.r-fB.R-f-1C.(r-f)%N+1D.(r-f+N)%N12.判断一
4、个循环队列Q(存放元素位置0~QueueSize-1)队满的条件是()。A.Q.front==Q.rearB.Q.front+1==Q.rearC.Q.front==(Q.rear+1)%QueueSizeD.Q.rear==(Q.front+1)%QueueSize13.假设用Q[0…M]实现循环队列,Q[f]、Q[r]分别为队首元素的前一个位置和队尾位置。若用“(r+1)%(M+1)==f”作为队满的标志,则()。A.可用“f==r”作为队空的标志B.可用“f>r”作为队空的标志C.可用“(f+1)%(M+1)==r”作为队空的标志D.队列
5、中最多可以有M+1个元素二、判断题1.栈底元素是不能删除的元素()2.顺序栈中元素的大小是有序的。()3.在n个元素进栈后,他们的出栈顺序和进栈顺序一定正好相反。()4.若用S[1]~S[m]表示顺序栈的存储空间,则对栈的进栈、出栈操作最多只能进行m次()5.空栈没有栈顶指针。()6.顺序队列中有多少元素,可根据队首指针的值和队尾指针的值来计算。()收集于网络,如有侵权请联系管理员删除精品文档2.若用“队首指针的值和队尾指针的值相等”作为循环顺序队列为空的标志,则在设置一个空队列时,只需给队首指针和队尾指针赋同一个值,不管什么值都可以。()三、
6、简答题1.利用两个栈S1,S2模拟一个队列时,如何用栈的元算实现队列的入队、出队以及队列的判空运算?请简述算法思想。收集于网络,如有侵权请联系管理员删除