购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 堆栈

堆栈(Stack)是一组相同数据类型的组合,所有的操作均在堆栈顶端进行,具有“后进先出”的特性。所谓后进先出,其实就如同自助餐中餐盘在桌面上一个一个往上叠放,在取用时先拿最上面的餐盘,这是典型的堆栈概念的应用,如图2-37所示。

图2-37 自助餐中餐盘存取就是一种堆栈的应用

堆栈是一种抽象数据结构(Abstract Data Type,ADT),具有下列特性:

(1)只能从堆栈的顶端存取数据。

(2)数据的存取符合“后进先出”的原则。

堆栈压入和弹出的操作过程如图2-38所示。

图2-38 堆栈压入和弹出的操作过程

堆栈的基本运算有表2-1所示的5种。

表2-1 堆栈的基本运算

堆栈压入和弹出操作示意图如图2-39所示。

图2-39 堆栈push(压入)和

堆栈结构在计算机中应用得相当广泛,常用于计算机程序的运行,例如递归调用、子程序的调用。在日常生活中的应用也随处可见,例如大楼的电梯(见图2-40)、货架上的商品等,其原理都类似于堆栈这样的数据结构。

图2-40 电梯搭乘方式就是一种堆栈的应用 QEceXfRBl0LpvHis9QqwkH+ulorsJcof5OAQJTR3ZbFpZiAAVvJBA/NRJgC9B+vV

点击中间区域
呼出菜单
上一章
目录
下一章
×