求高手用栈的操作实现”括号匹配检验“这个程序,用数据结构的知识.谢谢啦!
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/07 06:27:50
求高手用栈的操作实现”括号匹配检验“这个程序,用数据结构的知识.谢谢啦!
求高手用栈的操作实现”括号匹配检验“这个程序,用数据结构的知识.谢谢啦!
求高手用栈的操作实现”括号匹配检验“这个程序,用数据结构的知识.谢谢啦!
这是其中括号匹配的函数部分:
void match(SeqStack S,char *str)//括号的比较
{
\x05int i;
\x05char ch;
\x05for(i = 0; str[i] != '\0'; i++)
\x05{
\x05\x05switch(str[i])
\x05\x05{
\x05\x05case '(':
\x05\x05case '[':
\x05\x05case '{':
\x05\x05\x05Push(&S,str[i]);
\x05\x05\x05break;
\x05\x05case ')':
\x05\x05case ']':
\x05\x05case '}':
\x05\x05\x05if(GetTop(&S)=='#')
\x05\x05\x05{
\x05\x05\x05\x05printf("\n -_-!右括号多余!\n");
\x05\x05\x05\x05exit (0);
\x05\x05\x05}
\x05\x05\x05else
\x05\x05\x05{
\x05\x05\x05\x05ch=GetTop(&S);
\x05\x05\x05\x05if(Compare(ch,str[i]))
\x05\x05\x05\x05\x05Pop(&S);
\x05\x05\x05\x05else
\x05\x05\x05\x05{
\x05\x05\x05\x05\x05printf("\n -_-!对应的左右括号不同类!\n");
\x05\x05\x05\x05\x05exit (0);
\x05\x05\x05\x05}
\x05\x05\x05}
\x05\x05}
\x05}
\x05if(GetTop(&S)=='#')
\x05\x05printf("\n 括号匹配!^_^\n");
\x05else
\x05{
\x05\x05printf("\n -_-!左括号多余!\n");
\x05\x05exit (0);
\x05}
}