堆栈(Stack)的简介
- 堆栈(Stack)是一个有序列表,它只能在顶端执行插入和删除。
- 堆栈(Stack)是一个递归数据结构,具有指向其顶部元素的指针。
- 堆栈有时被称为后进先出(LIFO)列表,即首先插入堆栈的元素将最后从堆栈中删除。
堆栈的一些应用
- 递归
- 表达式评估和转换
- 解析
- 浏览器
- 编辑器
- 树遍历
1. 堆栈操作
可以在堆栈上执行各种操作。

1.推入 :将元素添加到堆栈中,如下图所示:

2.弹出 :从堆栈中删除元素,如下图所示:
3.窥视:查看堆栈的所有元素而不删除它们。
2. 堆栈如何增加?
场景1 :堆栈为空
如果堆栈中不包含任何元素,则称为空。 在此阶段,变量top的值为-1。
场景2 :堆栈不为空
每当向堆栈添加任何元素时,top的值将增加1。 在下面的堆栈中,添加第一个元素后,top = 2。

场景3:删除元素
每当从堆栈中删除元素时,top的值将减少1。在下面的堆栈中,从堆栈中删除元素10后,top = 1。
顶部及其值:
| 顶部位置 | 堆栈状态 |
|---|---|
| -1 | 空 |
| 0 | 堆栈中只有一个元素 |
| N-1 | 堆栈已满 |
| N | 溢出 |
