码迷,mamicode.com
首页 > 其他好文 > 详细

栈:WHT解决括号匹配问题

时间:2016-05-28 23:06:01      阅读:453      评论:0      收藏:0      [点我收藏+]

标签:

#include<iostream>
using namespace std;
#define stacksize 100;
struct stack
{
char strstack[stacksize];
int top;
};
void InitStack(stack &s)
{
s.top=-1;
}
char push(stack &s,char a)
{
if(s.top==stacksize-1)
return 0;
s.top++;
s.strstack[s.top]=a;
return a;
}
char pop(stack &s)
{
if(s.pop==-1) return 0;
char a=s.strstack[s.top];
s.top--;
return 0;
}
int empty(stack &s,int re)
{
if(s.top==-1)return 1;
else return 0;
}
int check(char*str)
{
stack s;
InitStackj(s);
int strn=strlen(str);
for(int i=0;i<strn;i++)
{
char a=str[i];
switch (a)
{
case‘(‘;
case‘{‘;
case‘[‘;
push(s,a);
break;
case‘)‘;
if(pop(s)!=‘(‘) return 0;
break;
case‘}‘;
if(pop(s)!=‘{‘) return 0;
break;
case‘]‘;
if(pop(s)!=‘{‘) return 0;
break;
}
}
int re=0;
re=empty(s,re); return 1;
else return 0;
}
void main()
{
char str[100];
cin>>str;
int re=check(str);
if(re==1)
cout<<"yes";
else if(re==0)
cout<<"no";
system("pause");
return 0;
}

这个程序哪里错了?

请大神们帮帮忙。

栈:WHT解决括号匹配问题

标签:

原文地址:http://www.cnblogs.com/dfzg/p/5538404.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!