「这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战」
一、栈
💦 栈的概念及结构
1 | sql复制代码栈:一种特殊的线性表,其只允许在固定的一端插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。 |
栈有两个经典的操作
1️⃣ 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
2️⃣ 出栈:栈的删除操作叫做出栈。出数据也在栈顶 。
💦 栈的实现
这里对于栈的实现我们既可以选择数组也可以和选择链表两者的效率都差不多,但是还是建议使用数组
1.初始化
函数原型
函数实现
1 | c复制代码void StackInit(ST* ps) |
2.插入
函数原型
函数实现
1 | c复制代码void StackPush(ST* ps, STDatatype x) |
3.判空
函数原型
函数实现
1 | c复制代码bool StackEmpty(ST* ps) |
4.删除
函数原型
函数实现
1 | c复制代码void StackPop(ST* ps) |
5.长度
函数原型
函数实现
1 | c复制代码int StackSize(ST* ps) |
6.栈顶
函数原型
函数实现
1 | c复制代码STDatatype StackTop(ST* ps) |
7.销毁
函数原型
函数实现
1 | c复制代码void StackDestory(ST* ps) |
💦 完整代码
这里需要三个文件
1️⃣ Static.h,用于函数的声明
2️⃣ Static.c,用于函数的定义
3️⃣ Test.c,用于测试函数
🧿 Stack.h
1 | c复制代码#pragma once |
🧿 Stack.c
1 | c复制代码#include"Stack.h" |
🧿 Test.c
1 | c复制代码#include"Stack.h" |
本文转载自: 掘金