本文介绍堆栈及其C语言数组的实现
堆栈
堆栈,也称为栈,是一种只能在一端(称为栈顶)对数据项进行操作的一种数据结构。
数据项的操作有两种:
- 入栈:向堆栈中添加元素
- 出栈:在堆栈中删除元素
堆栈的示意图如下:
由于只能在顶端执行插入和删除,因此最先插入堆栈的元素将最后从堆栈中删除,因此,有时堆栈被称为后进先出(Last In First Out,LIFO)列表。
堆栈的操作
初始化
申请一个数组和一个栈顶变量top
(初始值为-1
)即完成初始化:
int stack[数组大小];
int top=-1;
入栈
向堆栈中插入元素,堆栈的变量top
的值增加1
:
操作为:
stack[++top]=data;
出栈
在堆栈中删除元素,堆栈的变量top
的值减少1
操作为:
top--;
遍历
扫描整个堆栈
查找
扫描的过程中与想查找的数据进行比对
空栈
堆栈中不包含任何元素,此阶段top
的值为-1
堆栈的C语言数组实现
文中提到的关于堆栈的所有操作都使用了C语言的数组进行了实现,具体代码见Github
代码运行效果如下:
才疏学浅,难免有错误和不当之处,欢迎交流批评指正!
同时有问题的话欢迎留言或邮箱联系(ljt_IT@163.com)。