数据结构与算法 作者 张晓蕾 第五章.pptVIP

  • 6
  • 0
  • 约 82页
  • 2015-12-10 发布于广东
  • 举报

数据结构与算法 作者 张晓蕾 第五章.ppt

第5章 栈和队列 5.1 栈 5.1.1 栈的定义及运算 栈(stack)是限定仅在表尾一端进行插入或删除操作的线性表。对于栈来说,允许进行插入或删除的一端称为栈顶(top),而另一端称为栈底(bottom)。 不含任何元素的栈称为空栈。栈中的元素遵从“先进后出(LIFO)”的原则。该原则的含义如下: 设有一个栈 S={a0,a1,……,an-1} a0先进栈,an-1最后进栈。a0是栈底元素,an-1是栈顶元素,如图5-1所示。出栈时,an-1最先出,a0最后出。因此,栈也称为后进先出(LIFO)的线性表。 5.1.2 栈的向量存储结构 栈也有两种存储结构,即向量存储结构和链表存储结构。向量栈是顺序存储结构亦称顺序栈。它是利用地址连续的存储单元依次存放从栈底到栈顶的数据元素,同时设定一个top指针指向栈顶元素的当前位置。 通常用一维数组来实现向量栈,习惯上以下标小的一端做栈底。当top=-1时为空栈;当元素进栈时top++;当top等于最大下标值时为栈满。向量存储结构描述如下: #define MAXSIZE 20 struct SqStack { ELEMTYPE elem[MAXSIZE]; // 数组域 int top; // 栈指针域 }; 例5-1 字符栈的向量

文档评论(0)

1亿VIP精品文档

相关文档