3栈和队列分析.ppt

3栈和队列分析

第三章 栈和队列(数据结构与算法) 第三章 栈和队列 3.1 栈 3.1.1 栈的基本概念 3.1.2 顺序栈 3.1.3 链式栈 3.2 队列 3.2.1 队列的基本概念 3.2.2 链队列 3.2.3 循环队列——队列的顺序存储结构 3.2.4 队列应用 3.3 实例研究——表达式求值 栈和队列都是线性表。 基本操作是线性表操作的子集,是操作受限的线性表。所以可以称为限定性的数据结构。 从数据类型的角度看,他们各自有不同的操作方法,也可以认为是两种不同的抽象数据类型。 3.1.1 栈的基本概念 定义:栈(Stack)是限制在一端进行插入和删除运算的线性表。 通常称插入、删除的这一端为栈顶(Top),另一端为栈底(Bottom)。假设栈S=(a1,a2,a3,…an),则a1称为栈底元素,an为栈顶元素。栈中元素按a1,a2,a3,…an的次序进栈,退栈的第一个元素应为栈顶元素。 ADT Stack 数据对象: 可以是任意类型的数据,但必须属于同一个数据对象。  数据关系: 栈中数据元素之间是线性关系。  基本操作:  (1)int Length() const 初始条件:栈已存在。 操作结果:返回栈元素个数。 (2)bool Empty() const 初始条件:栈已存在。 操作结果:如栈为空,则返回true,否则返回f

文档评论(0)

1亿VIP精品文档

相关文档