第3章 栈和队列

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

题目分析:若队列中的元素多于一个,删除队列中的队尾元素,只需修改队尾指针;若队列中只有一个元素,删除该元素后,队头队尾指针都需要修改。

相关文档
最新文档