代码示例:
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int function(char *str)
{
int top=0;
char stack[10000];
for(int i=0; str[i]!='\0'; i++)
{
switch(str[i])
{
case '(':
stack[top++]='(';
break;
case '[':
stack[top++]='[';
break;
case '{':
stack[top++]='{';
break;
case '}':
if(top==0||stack[top-1]!='{') return 0;
top--;
break;
case ']':
if(top==0||stack[top-1]!=']') return 0;
top--;
break;
case ')':
if(top==0||stack[top-1]!=')') return 0;
top--;
break;
default:
break;
}
}
if(top)
return 0;
return 1;
}
int main(void)
{
char str[1000];
cin>>str;
if(function(str)==1)
{
cout<<"匹配成功!";
}
else
{
cout<<"匹配错误!";
}
return 0;
}