数据结构(C) 请用类C语言实现括号匹配的检验这个算法
2个回答
2012-04-03
展开全部
int compare(sqstack &s,FILE *fp)
{
char ch; fp=fopen("a.txt","r");
ch=fgetc(fp);
if(ch==')'||ch==']'||ch=='}')
return(0);
while(ch!=EOF)
{
switch(ch)
{
case'(':push(s,ch);break;
case'[':push(s,ch);break;
case'{':push(s,ch);break;
case')':
s.top--;
if(*s.top=='(')
break;
else {fclose(fp);return(0);}
case']':
s.top--;
if(*s.top=='[')
break;
else {fclose(fp);return(0);}
case'}':
s.top--;
if(*s.top=='{')
break;
else {fclose(fp);return(0);}
}
ch=fgetc(fp);
}
if(s.top==s.base) return(1);
else {fclose(fp);return(0);}
}
我这可能麻烦一些。。。
{
char ch; fp=fopen("a.txt","r");
ch=fgetc(fp);
if(ch==')'||ch==']'||ch=='}')
return(0);
while(ch!=EOF)
{
switch(ch)
{
case'(':push(s,ch);break;
case'[':push(s,ch);break;
case'{':push(s,ch);break;
case')':
s.top--;
if(*s.top=='(')
break;
else {fclose(fp);return(0);}
case']':
s.top--;
if(*s.top=='[')
break;
else {fclose(fp);return(0);}
case'}':
s.top--;
if(*s.top=='{')
break;
else {fclose(fp);return(0);}
}
ch=fgetc(fp);
}
if(s.top==s.base) return(1);
else {fclose(fp);return(0);}
}
我这可能麻烦一些。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询