#include <stdio.h>
#include <stdlib.h>
#define STACKINCREAMENT 10
#define STACK_INIT_SIZE 100
#define OVERFLOW -2
#define OK 1
#define ERROR 0
typedef int status;
typedef char SElemtype;
typedef struct
{
SElemtype *base;
SElemtype *top;
status stacksize;
}sqstack;
//初始化栈
status Init(sqstack *s)
{
s->base = (SElemtype *)malloc(STACK_INIT_SIZE * sizeof(SElemtype));
if(!s->base)
exit(OVERFLOW);
s->top = s->base;
s->stacksize = STACK_INIT_SIZE ;
return OK;
}
//获取栈顶元素
status Gettop(sqstack *s, SElemtype e)
{
if(s->top == s->base)
return ERROR;
e = *(s->top-1);
return OK;
}
//压栈
status push(sqstack *s, SElemtype e)
{
if(s->top - s->base >= s->stacksize)
{
s-&g
数据结构之---C语言实现括号匹配(栈实现)
最新推荐文章于 2022-05-19 16:28:38 发布
本文详细探讨了如何使用C语言通过栈来实现括号的有效匹配。通过实例解析,展示了从输入字符串到检查括号平衡的完整过程,揭示了栈在解决此类问题中的核心作用。
摘要由CSDN通过智能技术生成