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

📄 kuohao.cpp

📁 数据结构中顺序栈的表示与实现
💻 CPP
字号:
 //括号匹配的检验,(限于()、[])
 typedef char SElemType;
 #include"c1.h"
 #include"c3-1.h"
 #include"bo3-1.cpp"
 main()
 {
  // 对于输入的任意一个字符串,检验括号是否配对
   SqStack s;
   SElemType ch[80],*p,e;
   InitStack(s);
   cout<<"请输入表达式:";
   gets(ch);
   p=ch;
   while(*p) // 没到串尾
     switch(*p)
     {
       case '(':
       case '[':Push(s,*p++);
                break; // 左括号入栈,且p++
       case ')':
       case ']':if(!StackEmpty(s)) // 栈不空
                {
                  Pop(s,e); // 弹出栈顶元素
                  if(*p==')'&&e!='('||*p==']'&&e!='[') // 弹出的栈顶元素与*p不配对
                  {
                    cout<<"左右括号不配对"<<endl;
                    exit(ERROR);
                  }
                  else
                  {
                    p++;
                    break; // 配对,跳出switch语句,继续处理
                  }
                }
                else // 栈空
                {
                  cout<<"缺乏左括号"<<endl;
                  exit(ERROR);
                }
         default: p++; // 其它字符不处理,指针向后移
       }
     if(StackEmpty(s)) // 字符串结束时栈空
       cout<<"括号匹配"<<endl;
     else
       cout<<"缺乏右括号"<<endl;
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -