栈Stack
1. 定义
- 栈是一种特殊的线性表。对于这种线性表规定它的插入运算和删除运算均在线性表的同一端进行。 进行插入和删除的那一端称为栈顶,另一端称为栈底。栈的插入操作和删除操作也分别简称进栈和出栈。
栈具有“先进后出”(FILO:Fisrt In Last Out)、“后进先出”的特性。
2. 实例
- 一叠饭碗
3. 图示
- attachment:stack.jpg
4. 操作
- init_stack(st) 初始化
- is_empty(st)判断栈是否为空
- get_top(st) 取得栈顶结点值
- push(st, x) 栈的插入操作
- pop(st) 栈的删除操作
5. 顺序实现
- 栈的顺序存储方式实现又称作顺序栈 栈的顺序存储方式就是在顺序表的基础上对插入和删除操作限制它们在顺序表的同一端进行,所以同顺序表一样也可用一维数组表示。
5.1. 数据结构定义
5.2. 顺序栈初始化
5.3. 判断栈是否为空
5.4. 获取顺序栈栈顶元素
5.5. 入栈
5.6. 出栈
5.7. 打印栈
5.8. 判断顺序栈是否已满