顺序遍历表达式 左半边括号 找到就压栈 右半括号就退栈 如果最后栈是空的那么就匹配
既然已经说出算法了 楼主不会实现 也不是我的问题了
其实可以不用栈的,呵......
只是为了体现一下用栈的思想
#include
#include
using namespace std;
void getstr(char* p){
cout<<"请输入表达式串:"<
return;
}
void main(){
stack
char str[255];
getstr(str);
char k;
int i=0;
int st_error=0;
while ( (k=str[i]) != NULL)
{
if (k == '(' ) st.push(k);
if (k == ')' )
{
if (st.size() == 0 )
{
st_error=1;
break;
}
else
st.pop();
}
i++;
}
if(st_error==0&&st.size()==0) cout<<"匹配检查通过"<
}