seqmatch.c

来自「《数据结构》教材源程序,可以让你轻松的根据教材学习数据结构」· C语言 代码 · 共 32 行

C
32
字号
 /***************************************************/
 /*             判断表达式括号是否匹配              */
 /*     文件名seqmatch.c,函数名match_huohao()       */
 /***************************************************/
 int match_kuohao(char c[])
 {
   int i=0;
   sequence_stack s;
   init_sequence_stack(&s);
   while(c[i]!='#')
   {
     switch(c[i])
     {
       case '{':
       case '[':
       case '(':push(&s,c[i]);break;
       case '}':if(!is_empty_sequence_stack(s)&&get_top(s)=='{')
		  {pop(&s);break;}
                else return 0;
       case ']':if(!is_empty_sequence_stack(s)&&get_top(s)=='[')
		  {pop(&s);break;}
                else return 0;
       case ')':if(!is_empty_sequence_stack(s)&&get_top(s)=='(')
		  {pop(&s);break;}
                else return 0;
     }
     i++;
   }
   return (is_empty_sequence_stack(s));/*栈为空则匹配,否则不匹配*/
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?