




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、栈和队列习题及答案【篇一:栈和队列练习题答案】xt一、填空题1. 线性表、栈和队列都是结构,可以在线性表的在栈顶插入和删除元素;对于队列只能在队尾插入和队首删除元素。2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为。不允许插入和删除运算的一端称为栈底。3. 是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。二、判断正误(1.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。(M2.对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。正确,都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。错,他们都
2、是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。(4.栈和队列的存储方式既可是顺序方式,也可是链接方式。(5.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。错,有可能。三、单项选择题(b) 1.栈中元素的进出原则是A.先进先出B.后进先出C.栈空则进D.栈满则出(c) c)2.若已知一个栈的入栈序列是1,2,3,?,n,其输出序列为p1,p2,p3,?,pn,若p1=n,则pi为A.iB.n-iC.n-i+1D.不确定解释:当p1=n,即n是最先出栈的,根据栈的原理,n必定是最后入栈的(事实上题目已经表明了),那
3、么输入顺序必定是1,2,3,?,n,则出栈的序列是n,?,3,2,1。(若不要求顺序出栈,则输出序列不确定)(d) 3.数组Q:n用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为(A)rf;(B)(n+fr)%n;(C)n+rf;(D)(n+rf)%ne:1230四、阅读理解1 .【严题集3.3】写出下列程序段的输出结果(栈的元素类型void main( )a ); push(s,y); t ); push(s,x);s );selemtype为char)。stacks;charx,y;initstack(s);x=c;
4、y=k;push(s,x);push(s,pop(s,x);push(s,pop(s,x);push(s,while(!stackempty(s)pop(s,y);printf(y);printf(x);答:输出为“stack”。2 .【严题集3.12】写出下列程序段的输出结果(队列中的元素类型qelemtype为char)。voidmain()queueq;initqueue(q);charx=e;y=c;r ); enqueue (q, y);a );enqueue(q,h);enqueue(q,dequeue(q,x);enqueue(q,x);dequeue(q,x);enqueue(
5、q,while(!queueempty(q)dequeue(q,y);printf(y);printf(x);答:输出为“char”。3 .【严题集3.13】简述以下算法的功能(栈和队列的元素类型均为int)。voidalgo3(queueq)stacks;intd;initstack(s);while(!queueempty(q)dequeue(q,d);push(s,d);while(!stackempty(s)pop(s,d);enqueue(q,d);答:该算法的功能是:利用堆栈做辅助,将队列中的数据元素进行逆置。【篇二:第3章栈和队列历届考研题目】选择题1. 对于栈操作数据的原则是(
6、)。【青岛大学2001五、2(2分)】a.先进先出b.后进先出c.后进后出d.不分顺序2. 在作进栈运算时,应先判别栈是否(),在作退栈运算时应先判别栈是否()。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为()。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的()分别设在这片内存空间的两端,这样,当()时,才产生上溢。,:a.空b.满c.上溢d.下溢 :a.n-1b.nc.n+1d.n/2 :a.长度b.深度c.栈顶d.栈底 :a.两个栈的栈顶同时到达栈空间的中心点.b. 其中一个栈的栈顶到达栈空间的中心点.c. 两个栈的栈顶在栈空间的
7、某一位置相遇.d. 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底.【上海海运学院1997二、1(5分)】【上海海运学院1999二、1(5分)】3. 一个栈的输入序列为123?n,若输出序列的第一个元素是n,输出第i(1=i=n)个元素是()。a.不确定b.n-i+1c.id.n-i【中山大学1999一、9(1分)】4. 若一个栈的输入序列为1,2,3,?,n,输出序列的第一个元素是i,则第j个输出元素是()。a.i-j-1b.i-jc.j-i+1d.不确定的【武汉大学2000二、3】5. 若已知一个栈的入栈序列是1,2,3,?,n,其输出序列为p1,p2,p3,?,pn,若pn是n,则pi是
8、()。a. ib.n-ic.n-i+1d.不确定【南京理工大学2001一、1(1.5分)】b. 有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列?()a.543612b.453126c.346521d.234156【北方交通大学2001一、3(2分)】7. 设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。【中科院计算所2000一、10(2分)】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.2314
9、5d.15432【南开大学2000一、1】【山东大学2001二、4(1分)】【北京理工大学2000一、2(2分)】9. 设一个栈的输入序列是1,2,3,4,5,则下列序列中,是栈的合法输出序列的是()。a.51234b.45132c.43125d.32154【合肥工业大学2001一、1(2分)】10.某堆栈的输入序列为a,b,c,d,下面的四个序列中,不可能是它的输出序列的是()。a.a,c,b,db.b,c,d,ac.c,d,b,ad.d,c,a,b【北京航空航天大学2000一、3(2分)】【北京邮电大学1999一、3(2分)】11. 设abcdef以所给的次序进栈,若在进栈操作时,允许退栈
10、操作则下面得不到的序列为()。afedcbab.bcafedc.dcefbad.cabdef【南京理工大学1996一、9(2分)】12. 设有三个元素x,y,z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是()。axyzb.yzxc.zxyd.zyx【南京理工大学1997一、5(2分)】13. 输入序列为abc,可以变为cba时,经过的栈操作为()【中山大学1999一、8(1分)】a.push,pop,push,pop,push,popb.push,push,push,pop,pop,popc.push,push,pop,pop,push,popd.push,pop,push,push
11、,pop,pop14. 若一个栈以向量v1.n存储,初始栈顶指针top为n+1,则下面x进栈的正确操作是()。atop:=top+1;vtop:=xb.vtop:=x;top:=top+1c.top:=top-1;vtop:=xd.vtop:=x;top:=top-1【南京理工大学1998一、13(2分)】15. 若栈采用顺序存储方式存储,现两栈共享空间v1.m,topi代表第i个栈(i=1,2)栈顶,栈1的底在v1,栈2的底在vm,则栈满的条件是()。a.|top2-top1|=0b.top1+1=top2c.top1+top2=md.top1=top2【南京理工大学1999一、14(1分)
12、】16. 栈在()中应用。【中山大学1998二、3(2分)】a.递归调用b.子程序调用c.表达式求值d.a,B,C17. 一个递归算法必须包括()。【武汉大学2000二、2】a.递归部分b.终止条件和递归部分c.迭代部分d.终止条件和迭代部分18. 执行完下列语句段后,i值为:()【浙江大学2000一、6(3分)】intf(intx)return(x0)?x*f(x-1):2);inti;i=f(f(1);a2b.4c.8d.无限递归19. 表达式a*(b+c)-d的后缀表达式是()。【南京理工大学2001一、2(1.5分)】aabcd*+-b.abc+*d-c.abc*+d-d.-+*abc
13、d20.表达式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;(*A(-d.3,2,8;(*A(-【青岛大学2000五、5(2分)】21. 设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构最佳。a线性表的顺序存储结构b.队列c.线性表的链式存储结构d.栈【西安电子科技大学1996一、6(2分)】22. 用链接方式存储的队列,在进行删除运算时()。【北方交通大学2001一、12(2分)】a.仅修改头指针b.仅修改尾指针c.头、尾指针都要修改d.头、
14、尾指针可能都要修改23. 用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时()。【北京理工大学2001六、3(2分)】a仅修改队头指针b.仅修改队尾指针c.队头、队尾指针都要修改d.队头,队尾指针都可能要修改24. 递归过程或函数调用时,处理参数及返回地址,要用一种称为()的数据结构。a队列b多维数组c栈d.线性表【福州大学1998一、1(2分)】25. 假设以数组am存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。【北京工商大学2001一、2(3分)】a(rear-front+m)%mbrear-fro
15、nt+1c(front-rear+m)%md(rear-front)%m26. 循环队列a0.m-1存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。【南京理工大学2001一、5(1.5分)】a.(rear-front+m)%mb.rear-front+1c.rear-front-1d.rear-front27. 循环队列存储在数组a0.m中,则入队时的操作为()。【中山大学1999一、6(1分)】a.rear=rear+1b.rear=(rear+1)mod(m-1)c.rear=(rear+1)modmd.rear=(rear+1)mod(m+1)28.
16、若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?()【浙江大学1999四、1(4分)】a.1和5b.2和4c.4和2d.5和129. 已知输入序列为abcd经过输出受限的双向队列后能得到的输出序列有()。a.dacbb.cadbc.dbcad.bdace.以上答案都不对【西安交通大学1996三、3(3分)】30. 若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的输出序列是()。【西安电子科技大学1996一、5(2分)】a.1234
17、b.4132c.4231d.421331. 最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。a.(rear+1)modn=frontb.rear=frontcrear+1=frontd.(rear-l)modn=front【南京理工大学1999一、16(2分)】32. 栈和队列的共同点是()。【燕山大学2001一、1(2分)】a.都是先进先出b.都是先进后出c.只允许在端点处插入和删除元素d.没有共同点33. 栈的特点是(),队列的特点是(),栈和队列都是()。若进栈序列为1,2,3,4则()不可能是一个出栈序列(不一定全部进栈后再出栈);若进队列的序列为1,
18、2,3,4则()是一个出队列序列。【北方交通大学1999一、1(5分)】,:a.先进先出b.后进先出c.进优于出d.出优于进:a.顺序存储的线性结构b.链式存储的线性结构c.限制存取点的线性结构d.限制存取点的非线性结构,:a.3,2,1,4b.3,2,4,1c.4,2,3,1d.4,3,2,1f.1,2,3,4g.1,3,2,434. 栈和队都是()【南京理工大学1997一、3(2分)】a顺序存储的线性结构b.链式存储的非线性结构c.限制存取点的线性结构d.限制存取点的非线性结构35. 设栈s和队列q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈s,一个元素出栈后即进队列q
19、,若6个元素出队的序列是e2,e4,e3,e6,e5,e1则栈s的容量至少应该是()。a6b.4c.3d.2【南京理工大学2000一、6(1.5分)】36. 用单链表表示的链式队列的队头在链表的()位置。【清华大学1998一、1(2分)】a链头b链尾c链中37. 依次读入数据元素序列a,b,c,d,e,f,g进栈,每进一个元素,机器可要求下一个元素进栈或弹栈,如此进行,则栈空时弹出的元素构成的序列是以下哪些序列?【哈尔滨工业大学2000七(8分)】ad,e,c,f,b,g,ab.f,e,g,d,a,c,bc.e,f,d,g,b,c,ad.c,d,b,e,f,a,g二判断题1. 消除递归不一定需
20、要使用栈,此说法()【中科院计算所1998二、2(2分)】【中国科技大学1998二、2(2分)】2. 栈是实现过程和函数等子程序所必需的结构。()【合肥工业大学2000二、2(1分)】3. 两个栈共用静态存储空间,对头使用也存在空间溢出问题。()【青岛大学2000四、2(1分)】4. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。()【上海海运学院1998一、4(1分)】5. 即使对不含相同元素的同一输入序列进行两组不同的合法的入栈和出栈组合操作,所得的输出序列也一定相同。()【北京邮电大学1999二、4(2分)】6. 有n个数顺序(
21、依次)进栈,出栈序列有cn种,cn=1/(n+1)*(2n)!/(n!)*(n!)。()【北京邮电大学1998一、3(2分)】7. 栈与队列是一种特殊操作的线性表。()【青岛大学2001四、3(1分)】8. 若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1.()【上海海运学院1995一、2(1分)1997一、3(1分)】9. 栈和队列都是限制存取点的线性结构。()【中科院软件所1999六、(5)(2分)】10. 若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列1,5,4,6,2,3。()【上海海运学院1999一、3(1分)】11. 任何一个递归过程
22、都可以转换成非递归过程。()【上海交通大学1998一、3(1分)】12. 只有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈。()【上海交通大学1998一、4(1分)】13. 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。()【上海海运学院1998一、3(1分)】14. 通常使用队列来处理函数或过程的调用。()【南京航空航天大学1997一、5(1分)】15. 队列逻辑上是一个下端和上端既能增加又能减少的线性表。()【上海交通大学1998一、2】16. 循环队列通常用指针来实现队列的头尾相接。()【南京航空航天大学1996六、1(1分)】17. 循环队列
23、也存在空间溢出问题。()【青岛大学2002一、2(1分)】18. 队列和栈都是运算受限的线性表,只允许在表的两端进行运算。()【长沙铁道学院1997一、5(1分)】19. 栈和队列都是线性表,只是在插入和删除时受到了一些限制。()【北京邮电大学2002一、3(1分)】20. 栈和队列的存储方式,既可以是顺序方式,又可以是链式方式。()【上海海运学院1996一、2(1分)1999一、2(1分)】三填空题1. 栈是的线性表,其运算遵循的原则。【北京科技大学1997一、3】2. 是限定仅在表尾进行插入或删除操作的线性表。【燕山大学1998一、3(1分)】3. 一个栈的输入序列是:1,2,3则不可能的
24、栈输出序列是。【中国人民大学2001一、1(2分)】4. 设有一个空栈,栈顶指针为1000h(十六进制),现有输入序列为1,2,3,4,5,经过push,push,pop,push,pop,push,push之后,输出序列是,而栈顶指针值是h。设栈为顺序栈,每个元素占4个字节。【西安电子科技大学1998二、1(4分)】5. 当两个栈共享一存储区时,栈利用一维数组stack(1,n)表示,两栈顶指针为top1与top2,则当栈1空时,top1为,栈2空时,top2为,栈满时为。【南京理工大学1997三、1(3分)】6两个栈共享空间时栈满的条件。【中山大学1998一、3(1分)】7 在作进栈运算时
25、应先判别栈是否_(1)_;在作退栈运算时应先判别栈是否_(2)_;当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为_(3)_。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的空间时,应将两栈的_(4)_分别设在内存空间的两端,这样只有当_(5)_时才产生溢出。【山东工业大学1994一、1(5分)】8 .多个栈共存时,最好用作为存储结构。【南京理工大学2001二、7(2分)】9 用s表示入栈操作,x表示出栈操作,若元素入栈的顺序为1234,为了得到1342出栈顺序,相应的s和x的操作串为。【西南交通大学2000一、5】10 .顺序栈用data1.n存储数据,栈顶指
26、针是top,则值为x的元素入栈的操作是。【合肥工业大学2001三、2(2分)】11表达式23+(12*3-2)/4+34*5/7)+108/9的后缀表达式是。【中山大学1998一、4(1分)】12. 循环队列的引入,目的是为了克服。【厦门大学2001一、1(14/8分)】【篇三:(栈和队列)(复习题)】1 栈的特点是简称队列的特点是,简称d的线性表。a先进先出b后进先出clifodfifo2 栈和队列的共同点是。a都是先进后出b都是先进先出c只允许在端点处插入和删除元素d没有共同点3 一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是c。aedcbabdecbacdceabdabcde4 设有一个栈,元素依次进栈的顺序为a、b、c、d、e。下列是可能的出栈序列。ad,b,c,a,ebb,c,d,e,a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025园林绿化设计合同范本
- 2025劳动合同协议书范本模板
- 2025企业合同终止的情形分析:合规解除劳动合同的途径与条件
- 江苏省镇江市2024-2025学年高一上学期期中检测生物试卷 含解析
- 腰椎疼痛康复护理
- 脊柱外科术后护理
- 静脉留置消毒护理
- 心脏支架术后护理规范
- 【方案】2024咪咕全域营销媒体手册6928mb
- 三晋卓越联盟·2024-2025学年高三5月质量检测卷(25-X-635C)生物(B)
- DL∕T 1901-2018 水电站大坝运行安全应急预案编制导则
- 实验室可靠性测试计划表
- 大型活动交通保障方案
- 2024年济南先投人才发展集团招聘笔试冲刺题(带答案解析)
- 居间费用协议合同范本
- 云南省昆明市2023-2024学年高二下学期期末质量检测化学试题
- CJ343-2010 污水排入城市下水道水质标准
- 铁路盖板涵、框架涵施工方案培训资料
- 中医健康管理技术规范
- 医院深入开展2024年度“三合理一规范”活动实施方案
- 公园设施维修投标方案
评论
0/150
提交评论