📄 match.cpp
字号:
//Microsoft Visual C++ 6.0
//Microsoft Windows 2000 Server
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream.h>
#include "ds.h"
#include "SqStack.h"
Status match(char *exp)
{
unsigned int i;
i=0;
char e;
SqStack S;
InitStack(S);
unsigned int m;
m=strlen(exp);
while(i<m)
{
switch(exp[i])
{
case '(':
{
Push(S,exp[i]);
i++;
break;
}
case '[':
{
Push(S,exp[i]);
i++;
break;
}
case ')':
{
if(!StackEmpty(S))
{
Pop(S,e);
if(e=='(')
i++;
else
return ERROR;
}
else
return ERROR;
break;
}
case ']':
{
if(!StackEmpty(S))
{
Pop(S,e);
if(e=='[')
i++;
else
return ERROR;
}
else
return ERROR;
break;
}
}
}
if(StackEmpty(S))
return OK;
else
return ERROR;
}
main()
{
char exp1[]="([]())";
char exp2[]="[([][])]";
char exp3[]="[(])";
char exp4[]="(()]";
char exp5[]="";
char exp6[]="(";
char exp7[]=")";
if(match(exp7)==OK)
cout<<"括号匹配"<<endl;
else
cout<<"括号不匹配"<<endl;
getchar();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -