1 解题思路
构造包含顶指针,底指针和增量的结构体。以此建立一个空栈。然后依次读入输入的字符,存放至栈中。最后从栈中依次读出字符。分别设置三种括号的标志。当右括号读出时标志加一,当左括号读出时标志减一。如果表达式括号匹配,则三种标志位都等于0,如果括号不匹配则标志位不等于0,最后输出结果。
2 各函数功能
// 构造一个空栈int InitStack(SqStack *S);// 让e入栈int Push(SqStack *S, char e);// 让e出栈int Pop(SqStack *S, char *e);// 判断栈是否为空,空返回0,非空返回1int isEmpty(SqStack *S);// 判断括号是否匹配,通过计数器计算前后括号数量。如果三个计数器都为0,括号匹配int match(SqStack *S, int counter);// 流程控制,并且建立栈Sint main();

本文介绍了一种使用栈数据结构实现括号匹配的算法。通过构造包含顶指针、底指针和增量的结构体来建立空栈,读取字符并进行匹配验证。最后输出括号是否匹配的结果。

5240

被折叠的 条评论
为什么被折叠?



