#include<iostream>
#include<stack>
#include<string>
using namespace std;
int main()
{
stack<char> sstack;
string str;
cout << "please int string for str:" << endl;
cin >> str;
string::iterator iter = str.begin();
while(iter != str.end())
{
if(*iter != ')')
sstack.push(*iter);
else
{
while(sstack.top() != '(' && !sstack.empty())
{
sstack.pop();
}
if(sstack.empty())
cout << "parentheses are not matched" << endl;
else
{
sstack.pop();
sstack.push('@');
}
}
++iter;
}
while(sstack.empty() == false)
{
char value = sstack.top();
cout << value << " ";
sstack.pop();
}
return 0;
}
輸入輸出結果: