##用栈来解决括号匹配问题
挺简单的一道题,结果写代码在PUSH进行赋值的时候多写了一个等号,导致Push出现乱码,看了半小时愣是没发现,我去!。。。代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define Maxsize 50
typedef char Datatype;
typedef struct{
Datatype data[Maxsize];
int top;
}SqStack;
void InitStack(SqStack *S)
{
S->top=-1;
}
int StackEmpty(SqStack *S)
{
if(S->top==-1)
return 0;
else
return 1;
}
int Push (SqStack *S,Datatype x)
{
if(S->top==Maxsize-1)
return 0;
else
S->data[++(S->top)]=x;
return 1;
}
int Pop(SqStack *S, Datatype *x)
{
if(S->top==-1)
return 0;
else
*x=S->data[(S->top)--];
return 1;
}
int GetTop(SqStack S,Datatype *x)
{
if(S.top==-1)
return 0;
else
*x=S.data[S.top];
return 1;
}
int Bracketscheck(SqStack *S,char *str)
{
InitStack(S);