2022年第二单元课后练习题 .pdf
《2022年第二单元课后练习题 .pdf》由会员分享,可在线阅读,更多相关《2022年第二单元课后练习题 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二单元课后练习题(知识点范围:第3 章栈和队列)班级:学号:姓名:成绩:一、选择题(每小题1 分,共 20 分)1. 若 top 为栈顶指针,则判定一个顺序栈ST(最多元素为MAX )为空的条件是B 。A. top !=0 B. top= =0 C. top !=MAX D. top= =MAX-1 2. 若 top 为栈顶指针, 则判定一个顺序栈ST (最多元素为MAX ) 为栈满的条件是D。A. top!=0 B. top= =0 C. top!=MAX D. top= =MAX-1 3一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是C。Aedcba Bdecba Cdce
2、ab Dabcde 4设有一个栈,元素依次进栈的顺序为A、B、C、D、E。下列B是可能的出栈序列。AD,B,C,A,E BB,C,D,E,A CE,A,B,C,D DE,D,C,A,B 5以下B 不是队列的基本运算?A从队尾插入一个新元素B从队列中删除第i 个元素C判断一个队列是否为空D读取队头元素的值6若已知一个栈的进栈序列是1,2,3, n,其输出序列为p1,p2,p3, pn,若p1 n,则 pi 为A 。Ai Bni Cni1 D不确定7设计一个判别表达式中左、右括号是否配对出现的算法,采用D数据结构最佳。A线性表的顺序存储结构B队列C线性表的链式存储结构D栈8. 从一个栈顶指针为HS
3、 的链栈中删除一个结点时,用 x 保存被删结点的值, 则执行D 。(不带空的头结点) A. x=HS; HS= HS-next; B. x=HS-data; C. HS= HS-next; x=HS-data; D. x=HS-data; HS= HS-next; 9一个队列的入队序列是1,2,3,4,则队列的输出序列是B 。A4,3,2,1 B1,2,3,4 C1,4, 3,2 D3,2,4,1 10判定一个循环队列qu(最多元素为MaxSize)为空的条件是C。Aqu-rear qu-front =MaxSize Bqu-rear qu-front -1=MaxSize Cqu-rear
4、=qu-front D qu-rear =qu-front -1 11若用一个循环队列空间大小为6,且当前 rear 和 front 的值分别为0 和 3,当从队列中删除一个元素,再加入两个元素后,rear 和 front 的值分别为B。A1 和 5B2 和 4 C4 和 2 D5 和 1 12向一个栈顶指针为h 的带头结点的链栈中插入指针s 所指的结点时, 应执行D操作。Ah-next=s ; Bs-next=h ; Cs-next=h ;h =s ; Ds-next=h-next ;h-next=s ; 13输入序列为ABC ,若用 S表示入栈, X 表示出栈操作,则得到CBA 输出序列要
5、经过的栈操作序列为B 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - A SXSXSX B SSSXXXC SSXSX D SXSSXX 14和顺序栈相比,链栈有一个比较明显的优势是A 。A通常不会出现栈满的情况B 通常不会出现栈空的情况C插入操作更容易实现D删除操作更容易实现15若一个顺序栈中元素为n 个, 做进栈运算时发生上溢, 则说明该栈的最大容量为B 。A. n-1 B. n C. n+1 D. n/2 16若一个带头
6、结点的链栈的栈顶指针用top 表示,当 p 指向的结点进栈时,执行的操作是C。Ap-next=top ;top=top-next; Btop=p-p; p-next=top; Cp-next=top-next; top-next=p; Dp-next=top; top=p; 17若一个循环队列,其最多元素个数为MAXSIZE ,front 为头指针, rear 为尾指针,则判定满队列的条件是A 。A(rear+1)%MAXSIZE=front B rear+1=front Crear=front D(front+1)%MAXSIZE=rear 18设输入序列为1、2、3、4、5、6,则通过栈的
7、作用后可以得到的输出序列为B。A5,3,4,6,1,2 B3,2,5,6,4,1 C 3 ,1,2,5,4,6 D1,5,4,6,2,3 19在链队列 Q 中,front指向链队列的头结点,rear 指和队尾元素,若让s 所指结点入队需执行的指令是B A Q.front-next=s ;f=s; BQ.rear-next=s ;Q.rear=s; C s-next=Q.rear;Q.rear=s; Ds-next=Q.front ;Q.front=s;20设栈 ST 用顺序存储结构表示,若top 、base分别为指向栈顶和栈底的指针,则栈ST 为空的条件是BA、ST.top-ST.base0
8、B、ST.top-ST.base=0 C、ST.top-ST.basen D、ST.top-ST.base=n 二、填空题(每空1 分,共 25 分)1. 向栈中压入元素的操作是_入栈 _。2. 对栈进行退栈时的操作是_出栈_。3. 在一个循环队列中,队首指针指向队首元素的_ 前一个位置_。4. 从循环队列中删除一个元素时,其操作是_出队_。5. 在具有 n 个单元的循环队列中,队满时共有_ n-1_个元素。6. 一个栈的输入序列是12345,则栈的输出序列43512 是_ 不可能的 _。7. 一个栈的输入序列是12345,则栈的输出序列12345 是_ 可能的 _。8下面程序段的功能实现数据
9、x 进栈,要求在下划线处填上正确的语句。#define MAXSIZE 100 typedef struct int sMAXSIZE; int top; sqstack; void push(sqstack *stack , int x) if (stack-top=MAXSIZE) printf(“overflow”);else stack-sstack-top=x ; stack-top+; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - -
10、 - - - - 9设输入序列为1、2、3,则经过栈的作用后可以得到5种不同的输出序列。10不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为O(1) 。11 栈的插入和删除只能在栈的栈顶进行,后进栈的元素必定先出栈,所以又把栈称为_ FILO_ 表;队列的插入和删除运算分别在队列的两端进行,先进队列的元素必定先出队列,所以又把队列称为_FIFO_表。12设 F 和 R分别表示顺序循环队列的头指针和尾指针,或F 指向队头元素的前一个位置,R指向队尾元素则判断该循环队列为空的条件为F=R 。13. 栈是限定在表的一端进行插入或删除操作的线性表,其运算遵循FILO的原则。
11、14.若 addQ(n)表示元素 n 入队列 Q 的入队运算, delQ( )表示队列Q 的出队运算,当前队列状态为空,则经过addQ(1),addQ(2), delQ( ) ,addQ(5),addQ(7), delQ( ),addQ(9)操作后,队头元素为5 ,队尾元素为9 ;若使队列中剩余元素全部出队,还需要经过3次delQ() 操作。15.栈是一种特殊的线性表,允许插入和删除运算的一端称为栈顶。不允许插入和删除运算的一端称为栈底。16. 队列是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。18. 对于顺序存储结构的栈,在做入栈运算时应先判断栈是否栈满;在做出栈运
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年第二单元课后练习题 2022 第二 单元 课后 练习题
限制150内