一、题目
C语言里算术表达式中的括号只有小括号。 编写算法,判断
一个表达式中的括号是否正确配对,表达式已经存入字符数
组exp[]中,表达式中的字符个数为n。
二、算法思想
1.新建一个栈,用来存左括号
2.遍历exp数组,
若为’(’,则入栈操作(判断栈是否满+入栈);
若为’)’,则出栈操作(判断栈是否空+出栈);
3.通过栈顶指针的值来判断括号是否匹配;
若top==-1,则括号匹配;
若top!=-1,则括号不匹配。
三、代码
#include<stdio.h>
#define MaxSize 100
int Match(char exp[], int n){
//exp数组,长度为n
char stack[MaxSize];//新建顺序栈,定义MaxSize的值>=n,入栈时,无需判断栈是否已满
int top = -1;//栈顶指针
for (