⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exp_bracket.cpp

📁 是一本教程的实例代码,可以下载后直接运行,即可以得到答案.
💻 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 + -