问题描述:
设计一个算法判断算数表达式的圆括号是否正确匹配
算法思想:
使用栈来实现,当在输入的字符串中检测到‘(’字符时,该字符入栈。当在输入的字符串中检测到‘)’字符时,上一个字符出栈。
最后判断栈是否为空,若为空,则圆括号匹配正确,否则,圆括号匹配不正确。
需要注意的是当‘)’字符最先出现时,直接判断圆括号匹配不正确。
代码实现:
ParenthesisMatch.cpp
#include<string>
#include"SeqStack.h"
using namespace std;
int main()
{
SeqStack<char> stack1; //定义一个顺序栈对象