括号匹配算法的C++代码一种简单实现:
样例输入:
3
[][][][]
[[[]]]]]
(((]
输出结果:
Yes
No
No
#include<iostream>
#include<stack>
#include<string>
#include<vector>
using namespace std;
bool CheckString(string src);
int main()
{
int Num=0;
cout<<"请输入需要验证的数据的组数:";
cin>>Num;
string *a=new string[Num];
for(int i=0;i<Num;i++)
{
a[i]="";
cin>>a[i];
}
for(int i=0;i<Num;i++)
{
if(CheckString(a[i])==true)
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
}
return 0;
}
bool CheckString(string src)
{
stack<char>vc;
for(int i=0;i<(int)src.size();i++)
{
if(src[i]==')'&&vc.size()!=0&&vc.top()=='(')
{
vc.pop();
}
el