栈(stack)是列表家族的另一种数据形式。在栈中进行添加和删除只能在列表的一端进行。项目被描述成“压入”栈顶和“弹出”堆栈。所以,栈是一种LIFO结构,即后进先出(Last In, First Out)。
a. 设计一个栈ADT。
b. 为栈设计一个C编程接口。
类型名称 | 栈 |
类型属性 | 可存放规则的项目序列 |
类型操作 | 把栈初始化为空 |
| 确定栈是否为空 |
| 确定栈是否已满 |
| 向栈顶添加项目(压入一项) |
| 从栈顶删除并恢复项目(弹出一项) |