2022年数据结构栈和队列习题及答案 .pdf

上传人:Q****o 文档编号:25945702 上传时间:2022-07-14 格式:PDF 页数:3 大小:31.89KB
返回 下载 相关 举报
2022年数据结构栈和队列习题及答案 .pdf_第1页
第1页 / 共3页
2022年数据结构栈和队列习题及答案 .pdf_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《2022年数据结构栈和队列习题及答案 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构栈和队列习题及答案 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、习题三栈和队列一单项选择题1. 在作进栈运算时, 应先判别栈是否( ),在作退栈运算时应先判别栈是否( )。当栈中元素为n 个 ,作进栈运算时发生上溢, 则说明该栈的最大容量为( )。, : A. 空 B. 满 C. 上溢 D. 下溢: A. n-1 B. n C. n+1 D. n/2 2若已知一个栈的进栈序列是1,2, 3, n,其输出序列为p1,p2,p3,.,pn,若p1 3,则 p2 为( )。A 可能是 2 B 一定是 2 C 可能是 1 D 一定是 1 3. 有六个元素6,5,4,3,2,1 的顺序进栈, 问下列哪一个不是合法的出栈序列?()A. 5 4 3 6 1 2 B. 4

2、 5 3 1 2 6 C. 3 4 6 5 2 1 D. 2 3 4 1 5 6 4. 设有一顺序栈S , 元素 s1,s2,s3,s4,s5,s6依次进栈,如果 6 个元素出栈的顺序是s2,s3,s4, s6, s5,s1,则栈的容量至少应该是()A.2 B. 3 C. 5 D.6 5. 若栈采用顺序存储方式存储,现两栈共享空间V1.m ,topi代表第 i 个栈 ( i =1,2)栈顶,栈1 的底在 v1 ,栈 2 的底在 Vm ,则栈满的条件是() 。A. |top2-top1|=0 B. top1+1=top2 C. top1+top2=m D. top1=top2 6. 执行完下列语

3、句段后,i 值为:() int f(int x) return (x0) ? x* f(x-1):2); int i ; i =f(f(1); A2 B. 4 C. 8 D. 无限递归7. 表达式 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;(*(- 8. 用链接方式存储的队列,在进行删除运算时() 。A. 仅修改头指针 B. 仅修改尾指针C. 头、尾指针都要修改 D. 头、尾指针可能都要修改9. 递归过程或函数调用时,处理

4、参数及返回地址,要用一种称为()的数据结构。A队列 B多维数组 C栈 D. 线性表10设 C语言数组Datam+1 作为循环队列SQ的存储空间, front为队头指针, rear 为队尾指针,则执行出队操作的语句为()A.front=front+1 B. front=(front+1 )% m C.rear=(rear+1)%(m+1) D. front=(front+1)%(m+1) 11. 循环队列的队满条件为 ( ) A. (sq.rear+1) % maxsize =(sq.front+1) % maxsize; B. (sq.front+1) % maxsize =sq.rear C

5、. (sq.rear+1) % maxsize =sq.front D.sq.rear =sq.front 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 12. 栈和队列的共同点是() 。A. 都是先进先出 B. 都是先进后出C. 只允许在端点处插入和删除元素 D. 没有共同点二、填空题1栈是 _的线性表,其运算遵循_的原则。2. 一个栈的输入序列是:1,2,3 则不可能的栈输出序列是_。3用 S表示入栈操作,X表示出栈操作,

6、若元素入栈的顺序为1234,为了得到1342 出栈顺序,相应的S和 X的操作串为 _。4. 循环队列的引入,目的是为了克服_。5 队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是 _。6. 已知链队列的头尾指针分别是f 和 r ,则将值x 入队的操作序列是_。7表达式求值是_应用的一个典型例子。8循环队列用数组A0.m-1存放其元素值, 已知其头尾指针分别是front和 rear ,则当前队列的元素个数是_。9. 以下运算实现在链栈上的初始化,请在_处用请适当句子予以填充。Void InitStacl(LstackTp *ls) _; 10. 以下运算实现在链栈上的进栈,

7、请在处用请适当句子予以填充。Void Push (LStackTp *ls,DataType x) LstackTp *p;p=malloc(sizeof(LstackTp); _; p-next=ls; _; 11以下运算实现在链栈上的退栈,请在_处用请适当句子予以填充。Int Pop(LstackTp *ls,DataType *x) LstackTp *p; if(ls!=NULL) p=ls; *x=_; ls=ls-next; _; return(1); else return(0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -

8、- - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - 12. 以下运算实现在链队上的入队列,请在_处用适当句子予以填充。Void EnQueue(QueptrTp *lq,DataType x) LqueueTp *p; p=(LqueueTp *)malloc(sizeof(LqueueTp); _=x; p-next=NULL; (lq-rear)-next=_; _; 第 3 章栈和队列一单项选择题1. B A B 2 A 3. C 4.B 5. B 6. B 7. D 8. D 9. C 10 D 11.C 12. C 二

9、、填空题1操作受限(或限定仅在表尾进行插入和删除操作)后进先出2. 3 1 2 3SSS S4. 假溢出时大量移动数据元素5先进先出6. s=(LinkedList)malloc(sizeof (LNode) ; s-data=x;s-next=r-next;r-next=s;r=s ;7栈8 ( rear-front+m)% m ;9ls=NULL 10 p-data=x, ls=p 11 p-data, free(p) 12 p-data, p, lq-rear=p 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁