A-A+
设计算法判断一个算术表达式的圆括号是否正确配对。(提示:对表达式进行扫描 凡遇到'('就进栈
问题详情
设计算法判断一个算术表达式的圆括号是否正确配对。(提示:对表达式进行扫描,凡遇到"("就进栈,遇")"就退掉栈顶的"(",表达式被扫描完毕,栈应为空。
参考答案
正确答案:
int PairBracket( char *SR)
{//检查表达式ST中括号是否配对
int i;
SeqStack S; //定义一个栈
InitStack (&s);
for (i=0; i
{ if ( S[i]=='(' ) Push(&S, SR[i]); //遇'('时进栈
if ( S[i]==')' ) //遇')'
if (!StackEmpty(S))//栈不为空时,将栈顶元素出栈
Pop(&s);
else return 0;//不匹配,返回0
}
if EmptyStack(&s) return 1;// 匹配,返回1
else return 0;//不匹配,返回0
}