数据结构习题及答案(6)_第1页
数据结构习题及答案(6)_第2页
数据结构习题及答案(6)_第3页
数据结构习题及答案(6)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章 栈和队列一、选择题1. 一个栈的入栈序列是 a,b,c,d,e, 则栈的不可能的输出序列是( )。(A) edcba (B)decba(C) dceab ( D)abcde 参考答案: C2. 栈结构通常采用的两种存储结构是( )。(A)线性存储结构和链表存储结构(B)散列方式和索引方式(C)链表存储结构和数组(D)线性存储结构和非线性存储结构参考答案: A3. 判定一个栈ST(最多元素为mO)为空的条件是()。( A) ST- top!=0( B) ST- top=0( C) ST- top!=mO( D) ST-top=mO参考答案: B4. 判定一个栈ST(最多元素为mO)为栈满

2、的条件是()。( A) ST-top!=O( B) ST-top=O( C) ST-top!=mO-1 ( D) ST-top=mO 参考答案: D5. 一个队列的入列序列是 1,2,3,4, 则队列的输出序列是( )。( A) 4,3,2,1( B) 1,2,3,4( C) 1,4,3,2( D) 3,2,4,1参考答案: B和 rear 则当rear-front6. 循环队列用数组 AO,m-1 存放其元素值 , 已知其头尾指针分别是front前队列中的元素个数是( )( A) (rear-front+m)%m ( B) rear-front+1 ( C) rear-front-1( D)

3、参考答案: B7. 栈和队列的共同点是( )(A)都是先进后出(B)都是先进先出(C)只允许在端点处插入和删除元素(D)没有共同点参考答案: C8. 表达式 a*(b+c)-d 的后缀表达式是( )。A) abcd*+- (B) abc+*d- ( C)abc*+d- ( D) -+*abcd参考答案: B9.4 个元素 a1,a2,a3 和 a4 依次通过一个栈,在 a4 进栈前,栈的状态,则不可能的 出栈序是( )(A)a4 , a3,a2,a1 (B)a3 , a2,a4,a1(C)a3 , a1, a4, a2 (D)a3 ,a4,a2,a1参考答案: C10.以数组 Q0.m 1存放

4、循环队列中的元素,变量rear 和 qulen 分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际位置是( )(A)rear qulen (B)rear qulen m(C)m qulen(D)1 ( rear m qulen )% m参考答案: D二、填空题 1、1. 栈的特点是 , 队列的特点是 。先进后出 ; 先进先出;2. 线性表、栈和队列都是 结构, 可以在线性表的 位置插入和删除元素,对于栈只能在 插入和删除元素,对于队列只能在 插入元素和 删除元素。线性 ; 任何 ;栈顶;队尾;对头3. 一个栈的输入序列是 12345, 则栈有输出序列 12345

5、是。( 正确 /错误 )正确的4. 设栈 S 和队列 Q 的初始状态皆为空, 元素 a1 ,a2,a3,a4,a5 和 a6 依次通过一个栈, 一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3, a5, a4, a6, a2, al则栈S至少应该容纳 个元素。4三、 算法设计题1.假设有两个栈si和s2共享一个数组stackM,其中一个栈底设在 stackO处,另一 个栈底设在stackM-1处。试编写对任一栈作进栈和出栈运算的C函数push(x,i)和pop(i),i=l,2 。其中 i=1 表示左边的栈, ,i=2 表示右边的栈。要求在整个数组元素都被占 用时才产生溢出。#defi

6、ne M 100elemtype stackM;int top1=0,top2=m-1;int push(elemtype x,int i)溢处理 */if(top1-top2=1) return(1); /* elseif(i=1) stacktop1+=x;if(i=2)stacktop2-=x;return(0);int pop(elemtype *px,int i)if(i=1)if(top1=0) return(1);elsetop1-;*px=stacktop1;return(0);elseif(i=2)if(top2=M-1) return(1);elsetop2+;*px=stacktop2;return(0);?写出模拟2. 利用两个栈 s1,s2 模拟一个队列时 , 如何用栈的运算来实现该队列的运算 队列的插入和删除的 C 函数。一个栈 s1 用于插入元素 ,另一个栈 s2 用于删除元素 .elemtype s1MAXSIZE,s2MAZSIZE;int top1,top2;void enqueue(elemtype x)if(top1=MAXSIZE) return(1);elsepush(s1,x);return(0);void dequeue(elemtype *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论