2019315 栈的应用:括号匹配问题
//括号匹配问题
#include<iostream>
#include<stack>
#include<string.h>
using namespace std;
int main()
{
char a1[100]=")(rttyy())sss)(";
char b[100];//存放问题栈
stack<int> s;
int i;
for(i=0;i<strlen(a1);i++)
{
if(a1[i]=='(') {s.push(i);b[i]=' ';}//压入栈内,并改成空格字符。
else if(a1[i]==')')
{
if(!s.empty()) {s.pop();b[i]=' ';}
else b[i]='?';
}
else b[i]=' ';
}
while(!s.empty())
{
b[s.top()]='$';
s.pop();
}
b[i]=0;
cout<<a1<<endl<<b;
}