📄 exp_bracket.cpp
字号:
typedef char dataType; //抽象数据类型dataType定义为char
#include "Stack1.h" //顺序栈类
char* isValid(char *expstr)
{
Stack1 s1(30); //创建空栈
char *p=expstr;
bool yes=true;
while(yes && *p!='\0')
{
switch(*p)
{
case '(': s1.push(*p); //遇见左括号时,入栈
break;
case ')': if(!s1.isEmpty() && s1.pop()!='(') //遇见右括号时,出栈
yes=false; //判断出栈的是否为左括号
}
p++;
}
if(yes)
if(s1.isEmpty())
return "OK!";
else
return "期望)!";
else
return "期望(!";
}
void main()
{
char *expstr1="((1+2)*(3+4)))(=";
cout<<expstr1<<" isValid "<<isValid(expstr1)<<"\n";
}
/*
程序四次运行结果:
((1+2)*(3+4))= isValid OK!
((1+2)*(3+4)))= isValid 期望(!
((1+2)*(3+4))(= isValid 期望)!
((1+2)*(3+4)))(= isValid 期望(!
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -