堆栈(简称栈)是一种只能在一端对数据项进行插入和删除操作的线性表。堆栈中允许进行插入、删除操作的一端称为栈顶(top),另一端称为栈底。栈顶位置是动态的,由一个称为栈顶指针的位置指示器表示。当堆栈中没有数据元素时,称为空栈。堆栈的插入操作通常称为进栈或入栈,堆栈的删除操作通常称为退栈或出栈。
堆栈的主要特点是“后进先出”,即后入栈的元素先出栈。每次入栈的数据元素都放在当前栈顶之上,成为新的栈顶元素,每次出栈的数据元素都是当前栈顶元素,如图2.1所示。
图2.1
学院食堂有一个大桶,里面的餐盘都是一个个摞起来的,我们每次只能在最上面拿餐盘或放餐盘,这就是堆栈的现实应用。
常用的堆栈操作有以下3种方式。
(1)入栈:Push()。
(2)出栈:Pop()。
(3)显示堆栈元素:Display()。