//括号匹配
#define Max 50
typedef struct {
char data[Max];
int top;
}SqStack;
void InitStack(SqStack &S){
S.top=-1;
}
bool Push(SqStack &S,char x){
if(S.top==Max-1)return false;
S.data[++S.top]=x;
return true;
}
bool Pop(SqStack &S,char &x){
if(S.top==-1)return false;
x=S.data[S.top--];
return true;
}
bool StackEmpty(SqStack &S){
if(S.top==-1)return true;
else return false;
}
bool Check(char str[],int length){
SqStack S;
InitStack(S);
for(int i=0;i<length;i++){
if(str[i]=='[' ||str[i]=='{' ||str[i]=='('){
Push(S,str[i]);
}else{
if(StackEmpty(S))
return false;
char TopElem;
Pop(S,TopElem);
if(str[i]==')'&&TopElem!='(')
return false;
if(str[i]==']'&&TopElem!='[')
return false;
if(str[i]=='}'&&TopElem!='{')
return false;
}
}
return StackEmpty(S);
}
03-25
2万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-29
1749
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-13
3058
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-27
311
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-03
2143
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交