void pair(char str[ ])
{ PSeqStack S; //定义一个栈
char ch ,ch1; //用于存储表达式中的每一个字符
int k=0 ;
S=Init_SeqStack(); //初始化空栈 //---------------------------------------------------2分
while( ( ch=str[k])!= ′\0 ′) /*扫描表达式,直到′\0 ′结束*/
{ if (ch= =′( ′) Push_SeqStack(S,ch); //若遇到左括号“(”则入栈
elseif(ch==′)′) //若遇到右括号“)”则出栈
{ if (Empty_SeqStack (S)) //若栈空,无法出栈,则表示括号不匹配
{ printf(“圆括号不配对”);
return;
}
else Pop_SeqStack(S,&ch1); /*栈顶的左括号出栈*/
}
k++;
}//---------------------------------------------------------------------------------------6分
if (Empty_SeqStack(S)) printf(“圆括号配对”);
else printf(“圆括号不配对”);//--------------------------------------------------------2分
}
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载