スタックを使用してカッコマッチングのアルゴリズムを実証
1119 ワード
方法:
テストクラス:
結果:
void StrMacthByStack(string s)
{
stack left;
while (!s.empty())
{
string character=s.substr(0,1); //
s=s.substr(1); //
if(character=="{"||character=="["||character=="(")
{
left.push(character); // ,
}
else if(character==")"||character=="]"||character=="}")
{
if(left.empty()) //
return ;
string leftChar=left.top(); //
left.pop(); //
if(character==")")
{
if(leftChar!="(") //
return ;
else
{
cout<
テストクラス:
int _tmain(int argc, _TCHAR* argv[])
{
string str = "(liu78{09f[0]9})";
StrMacthByStack(str);
return 0;
}
結果: