算法竞赛宝典(第三部):基础数据结构
上QQ阅读APP看书,第一时间看更新

第二章 堆栈

堆栈的定义

何谓堆栈

堆栈(简称栈)是一种最常用和最重要的数据结构,是一种只能在一端进行插入或删除数据操作的线性表。表中允许进行插入、删除操作的一端称为栈顶。栈顶当前位置是动态的,栈顶当前位置由一个称为栈顶指针的位置指示器表示。表的另一端称为栈底。当栈中没有数据元素时,称为空栈。栈的插入操作通常称为进栈或入栈。栈的删除操作通常称为退栈或出栈。

栈的主要特点是“后进先出”,即后入栈的元素先弹出。每次进栈的数据元素都放在原当前栈顶元素之上,成为新的栈顶元素,每次出栈的数据都是原当前栈顶元素,如图2.1所示。

图2.1

栈的基本操作

常用的栈操作有以下几个:

初始化栈——init()

入栈——push()

出栈——pop()

取栈顶元素——gettop()

判断栈是否为空——empty()

显示栈元素——display()

释放栈——setnull()