基本思路
1.碰到左括号,则入栈
2.碰到右括号,如果栈不为空,则弹出栈顶元素,进行匹配。匹配成功则继续,匹配失败直接结束。
3.最后栈为空,则表示成功
代码
代码前半部分是实现栈的基本操作,如果会c++中自带的栈,那么将会简化许多。代码核心功能是bracketCheck()。
#include <iostream>
#include <stdlib.h>
#define MaxSize 10
using namespace std;
typedef char ElemType;
typedef struct{
ElemType data[MaxSize];
int top;
}SqStack;
void InitStack(SqStack &S);//初始化栈
bool StackEmpty(SqStack S);//判栈空
bool Push(SqStack &S,ElemType x);//进栈
bool Pop(SqStack &S,ElemType &x);//出栈
//初始化栈
void InitStack