括号匹配的检验
Posted wwww2
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了括号匹配的检验相关的知识,希望对你有一定的参考价值。
头文件中
#include<stdio.h> #include<stdlib.h> typedef char Elem; typedef int status; #define MAXSIZE 100 #define ERROR 0 #define OK 1 typedef struct{ Elem data[MAXSIZE]; int top; }SqStack; //初始化 void Initstack(SqStack &S) { if(!S.data) exit(-1); S.top = 0; } //入栈 status Push(SqStack &S,Elem e) { if(S.top==MAXSIZE) { printf("栈满了 "); return ERROR; } S.data[S.top++] = e; return OK; } //出栈 status Pop(SqStack &S) { if(S.top==0) return ERROR; S.top--; } //获得栈顶元素 status getTop(SqStack S,Elem &e) { if(S.top==0) return ERROR; e = S.data[S.top-1]; return OK; }
//括号匹配 status Match(SqStack &S) { printf("---------------输入想要匹配的括号----------------- "); printf(" 括号范围[]、{}、() "); char str[MAXSIZE]; gets(str); printf(" "); Elem pre = ‘#‘;//假如第一个括号是右括号,则与其匹配,当然肯定匹配错误 int i=0; while(str[i]!=‘