用C语言实现一个简单的静态栈

栈是我们经常会用到的一种数据结构,下面我们就来看一下如何使用C语言来实现一个静态栈,并且使用它来解决一个经典的问题——括号匹配问题

首先我们来看一下栈的自定义类型,我们需要一个数组来存放栈中的元素,并且需要一个数字来表明目前栈顶所在的位置,所以栈的自定义类型如下

#define Max_Size 100

typedef char DataType;

typedef struct                                  //自定义结构体stack
{
    DataType _Stack[Max_Size];
    DataType _top;
}Stack;

接下来就是栈的功能,我们需要它能实现以下功能

void StackInit(Stack* s);                        // 栈的初始化
void StackPush(Stack* s, DataType data);         // 入栈
DataType StackTop(Stack* s);                     // 出栈
int StackSize(Stack* s);                         // 获取栈顶元素
void StackPop(Stack* s);                         // 获取栈中元素个数
int StackEmpty(Stack* s);                        // 检测栈是否为空
void Print(Stack* s);                            // 打印栈顶元素

具体实现方法如下

void StackInit(Stack* s)                        // 栈的初始化
{
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值