前言
栈的介绍
栈是一种特殊的线性表,数据的存取方式是后进先出,最后进入的数据称为栈顶,第一个进入的数据称为栈底。只能在栈顶对数据进行读取、删除、插入。
删除数据称作:出栈或退栈
插入数据称作:进栈、入栈或压栈
一、需要实现的接口
1 | //初始化栈 |
二、代码实现
1.创建栈
栈可以使用数组或链表实现,这里使用的是数组
1 | typedef int StackDataType;//栈中存储的数据为整型 |
2.各接口创建
1- 初始化栈
1 | void StackInit(stack* p) { |
2 - 销毁栈
1 | void StackDestroy(stack* p) { |
3 - 入栈
1 | void StackPush(stack* p, StackDataType x) { |
4 - 出栈
1 | void StackPop(stack* p) { |
5 - 取出栈顶数据
1 | StackDataType StackTop(stack* p) { |
6 - 计算栈的大小
1 | int StackSize(stack* p) { |
7 - 栈的判空
1 | bool StackEmpty(stack* p) { |
三、测试
1 | void stacktest1() { |
五、运行结果
栈的应用(迷宫问题):
总结
第一次写博客,不足之处还请大家指出🥺。
以前自己在csdn写的,新搭的博客没有多少文章,搬上来凑数

说些什么吧!