栈的练习及答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、顺序栈S,栈顶指针为top,则栈置空操作是s->top==-1

3、栈是一种特殊的___线性表______,又称为___后进先出线性表______.

4、判定一个栈ST(最多元素为m0)为空的条件是ST->top= -1

8、队列是一种特殊的___线性表_____,允许插入的一端称为___队头____,•允许删除的一端称为__队尾____,所以队列又称为____先进先出________.

10、栈的两个重要应用是____后进先出_______和___递归______.

5. 在具有n个单元的循环队列中,队满时共有n-1个元素。

6. 向栈中压入元素的操作是先移动栈顶指针,后存入元素。

12、用数组A存放循环队列的元素值,若其头指针为front,尾指针为rear,则循环队列中当前元素个数为(rear-front+m)%m

13、设循环队列Q头指针为front,尾指针为rear,队列的最大容量为M,写出循环队列队满和队空的判定条件

判空:

q->front = q->rear;

判满:

(q->rear + 1) % maxsize = q->front;

14、设循环队列的容量为40(序号从0到39),现经过一系列的入队和出队运算后,有

①front=11,rear=19; ②front=19,rear=11;问在这两种情况下,循环队列中各有元素多少个?

公式:(N+r-f)%N 8,32

23、设有编号为1,2,3,4的四辆列车,顺序进入一个栈式结构的车站,具体写出这四辆列车开出车站的所有可能的顺序.(14)

答:全进去再出:4,3,2,1

进去三个之后再出:3214、3241,3421

进去两个之后再出:2134、2143、2314、2341 2431

进去一个之后再出:1234、1243、1324、1342、1432

11、栈和队列都是运算受到限制的特殊的线性表,栈和队列有何不同?

栈是限定仅在表尾进行插入或删除的线性表,又称为后进先出的线性表. 队列是只允许在表的一端进行插入,而在另一端进行删除元素,又称先进先出的线性表

1.按照四则运算加、减、乘、除和幂运算(↑)优先关系的惯例,并仿照教材的格式,画

出对下列算术表达式求值时操作数栈和运算符栈的变化过程:

A-B×C/D

二、判断正误(判断下列概念的正确性,并作出简要的说明。)(每小题1分,共10分)(×)1. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关。

(×)2. 在表结构中最常用的是线性表,栈和队列不太常用。

错,不一定吧?调用子程序或函数常用,CPU中也用队列。

(√)3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

(√)4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。

正确,都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。(×)5. 栈和链表是两种不同的数据结构。

错,栈是逻辑结构的概念,是特殊殊线性表,而链表是存储结构概念,二者不是同类项。(×)6. 栈和队列是一种非线性数据结构。

错,他们都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。(√)7. 栈和队列的存储方式既可是顺序方式,也可是链接方式。

(×)8顺序队列和循环队列的队满及队空判断条件是一样的

错,不一样

(√)9栈和队列都是线性表

正确

(×)10. 一个栈的输入序列是12345,则栈的输出序列不可能是12345。

错,有可能。

相关文档
最新文档