第3章 栈和队列
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》
第3章栈和队列
共85题
一、单选
1. (1)分题目ID号:10705 题目难度:容易
设对一组数据的处理具有“后进先出”的特点,则应采用的数据结构是【1】
A. 队列
B. 栈
C. 顺序表
D. 二叉树题目答案:B
2. (1)分题目ID号:10706 题目难度:容易
若进栈序列为3、5、7、9,进栈和出栈可穿插进行,则不可能的出栈序列是【1】
A. 7,5,3,9
B. 9,5,7,3
C. 9,7,5,3
D. 7,5,9,3
题目答案:B
3. (1)分题目ID号:10707 题目难度:较难
设用一维数组A[m]存储栈,令A[m-1]为栈底,t指示当前栈顶的位置。如果栈不空,则出栈时应使【1】
A. t=t+l
B. t=t-1
C. t=m-1
D. 不改变t
题目答案:A
4. (1)分题目ID号:10708 题目难度:容易
设用一维数组A[m]存储栈,令A[0]为栈底,top指示当前钱顶的位置,当把栈清空时所要执行的操作是【1】
A. top--
B. top=0
C. top=-1
D. top=m-1 题目答案:C
5. (1)分题目ID号:10709 题目难度:容易
设栈s的初始状态为空,如果进栈序列为1、2、3、4、5、6,出栈序列为3、2、5、6、4、1,则s的容量至少是【1】
A. 6
B. 4
C. 2
D. 3
题目答案:D
6. (1)分题目ID号:10710 题目难度:容易
设栈s最多能容纳4个元素,现有A、B、C、D、E、F六个元素按顺序进栈,以下可能的出栈序列是【1】
A. E、D、C、B、A、F
B. B、C、E、F、A、D
C. C、B、E、D、A、F
D. A、D、F、E、B、C
题目答案:C
7. (1)分题目ID号:10711 题目难度:容易
链式栈与顺序栈相比,一个比较明显的优点是【1】
A. 插入操作更加方便
B. 通常不会出现栈满的情况
C. 不会出现栈空的情况
D. 删除操作更加方便题目答案:B
8. (1)分题目ID号:10712 题目难度:容易
在完成出栈操作时,【1】
A. 必须判断栈是否满
B. 要判断栈元素的类型
C. 必须判断栈是否空
D. 不必做任何判断
题目答案:C
9. (1)分题目ID号:10713 题目难度:容易
已知栈的入栈序列是1、2、3、……、n,出栈序列是e1、e2、……、en。若e1=n,则ei为【1】
A. i
B. n-i+1
C. n-i
D. 不能确定
题目答案:B
10. (1)分题目ID号:10714 题目难度:容易
在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,
主机将要输出的数据依次写入该缓冲区,打印机则从该缓冲区取出数据打印,该缓冲区应该是一个【1】结构。
A. 栈
B. 队列
C. 线性
表 D. 数组
题目答案:B
11. (1)分题目ID号:10715 题目难度:容易
【1】不是队的基本运算。
A. 向队尾插入一个元素
B. 读队头元素
C. 删除队中第i个元素
D. 判队是否为空
题目答案:C
12. (1)分题目ID号:10716 题目难度:容易
当以顺序方式存储队列时,解决“假溢出”较为有效的方法是采用【1】
A. 顺序队列
B. 链式队列
C. 顺序循环队列
D. 三种都可以
题目答案:C
13. (1)分题目ID号:10717 题目难度:容易
设一维数组Q[m]用于存放循环队列中的元素,同时用f指示当前队头
元素的位置,r指示当前队尾元素的下一个位置。假定队中元素个数总小于m,则计算队列中元素个数的公式为【1】
A. (m+r-f)%
m B. r-f C. m-(f-r) D. (m+(f-r))%m 题目答案:A
题目分析:循环队列是解决假溢出的问题,通常把一维数组看成首尾相接。在循环意义下的求元素个数的运算可以利用求模运算。
14. (1)分题目ID号:10718 题目难度:容易
若用一个大小为10的一维数组存储顺序循环队列,且当前rear和front的值分别为4
和8,当从队列中删除3个元素再加入2个元素后,rear和front的值分别是【1】
A. 无法完成要求的操作
B. 6和l
C. 7和
0 D. 6和11
题目答案:B
题目分析:循环队列是解决假溢出的问题,通常把一维数组看成首尾相接。在循环意义下的加1运算通常用求模运算来实现。所以入队和出队时的操作分别为:rear=(rear+1)%m,front=(front+1)%m。
15. (1)分题目ID号:10719 题目难度:容易
栈和队列都是运算受限的线性表,它们的共同点是【1】
A. 只允许在端点处插入和删除元素
B. 元素都是后进先出
C. 元素都是先进先
出 D. 必须采用顺序存储结构
题目答案:A
题目分析:栈和队列都是运算受限的线性表,只允许在表端点处进行操作。16. (1)分题目ID号:11091 题目难度:容易
在一个链式队列中,假设front和rear分别为队头和队尾指针,则插入s所指结点的操
作为【1】
A. rear->next=s;rear=s;
B. front ->next=s;front=s;
C. s->next=front;front=s;
D. s->next=r ear;rear=s;
题目答案:A
题目分析:队列是运算受限的线性表(FIFO),插入元素只能插在队尾,所以需修改队尾指针。
17. (1)分题目ID号:11096 题目难度:容易
用链接方式存储的队列,在进行删除运算时【1】
A. 仅修改头指针
B. 头、尾指针可能都要修改
C. 头、尾指针都要修改
D. 仅修改尾指针
题目答案:B
题目分析:若队列中的元素多于一个,删除队列中的队尾元素,只需修改队尾指针;若队列中只有一个元素,删除该元素后,队头队尾指针都需要修改。