![算法竞赛宝典(第三部):基础数据结构](https://wfqqreader-1252317822.image.myqcloud.com/cover/631/27110631/b_27110631.jpg)
上QQ阅读APP看书,第一时间看更新
第二章 堆栈
堆栈的定义
何谓堆栈
堆栈(简称栈)是一种最常用和最重要的数据结构,是一种只能在一端进行插入或删除数据操作的线性表。表中允许进行插入、删除操作的一端称为栈顶。栈顶当前位置是动态的,栈顶当前位置由一个称为栈顶指针的位置指示器表示。表的另一端称为栈底。当栈中没有数据元素时,称为空栈。栈的插入操作通常称为进栈或入栈。栈的删除操作通常称为退栈或出栈。
栈的主要特点是“后进先出”,即后入栈的元素先弹出。每次进栈的数据元素都放在原当前栈顶元素之上,成为新的栈顶元素,每次出栈的数据都是原当前栈顶元素,如图2.1所示。
![](https://epubservercos.yuewen.com/38FD6E/15477640904532306/epubprivate/OEBPS/Images/figure_0040_0001.jpg?sign=1739233790-72bjhEHH1WQZNRg7RER2tS1IhBMIaDfK-0-4564e9ac13985cd9c008339bdca41aa0)
图2.1
栈的基本操作
常用的栈操作有以下几个:
初始化栈——init()
入栈——push()
出栈——pop()
取栈顶元素——gettop()
判断栈是否为空——empty()
显示栈元素——display()
释放栈——setnull()