您的位置:首页 > 理论基础 > 数据结构算法

2134 数据结构实验之栈四:括号匹配

2016-10-27 16:27 211 查看
数据结构实验之栈四:括号匹配

#include<stdio.h>
#define maxsize 51
struct stack
{
char a[maxsize] ;
int top ;
}s ;
int match(char c1, char c2)
{
if((c1=='{'&&c2=='}')||(c1=='('&&c2==')')||(c1=='['&&c2==']'))
return 1 ;
else
return 0 ;
}
int m(char *str)
{
int i ;
char c ;
s.top = -1 ;
for(i=0; str[i]!=0; i++)
{
switch(str[i])
{
case'(':
case'[':
case'{': s.top++;
s.a[s.top] = str[i] ;
break ;
case')':
case']':
case'}': c = s.a[s.top] ;
if(match(c, str[i]))
s.top-- ;
else
return 0 ;

}
}
if(s.top==-1)
return 1;
else return 0 ;
}
int main()
{
int i ;
char str[51] ;
while(gets(str)!=NULL)
{
i = m(str) ;
if(i!=0)
printf("yes\n") ;
else printf("no\n") ;
}
return 0 ;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: