栈使用在括号匹配中的例子
程序如下:
#include<stack> #include<iostream> using namespace std; int main() { stack<char> initStack; char ch; while(cin>>ch) { if(ch==‘(‘||ch==‘{‘||ch==‘[‘) { initStack.push(ch); continue; } if(!initStack.empty()) { char value=initStack.top(); if(ch==‘)‘&&value==‘(‘) initStack.pop(); else if(ch==‘}‘&&value==‘{‘) initStack.pop(); else if(ch==‘]‘&&value==‘[‘) initStack.pop(); else { cout<<"不匹配"<<endl; return -1; } } } if(initStack.empty()) cout<<"匹配"<<endl; else cout<<"不匹配"<<endl; return 0; }
原文:http://www.cnblogs.com/wuchanming/p/3915507.html