栈的应用

括号匹配:

 1 int match(char exp[],int n){
 2     //快速定义栈和初始化
 3     char S[maxsize];
 4     int top=-1;
 5 
 6     for(int i=0;i<n;i++){
 7         if(exp[i]=='(')    
 8             S[++top]='(';    //简化入栈
 9         if(exp[i]==')'){
10             if(top==-1)
11                 return 0;
12             else
13                 top--;        //出栈
14         }
15     }
16     if(top==-1)        //栈空,则说明匹配成功
17         return 1;    
18     else            //否则,匹配失败
19         return 0;    
20 }

 

posted @ 2019-07-28 23:18  weigm*  阅读(65)  评论(0)    收藏  举报