假设一个算术表达式中包括()、[]、{}三种类型的括弧,编写一个判别表达式中括弧是否正确配对的函数correct(exp,tag);
其中:exp为字符串类型的变量(可理解为每个字符占用一个数组元素),表示被判别的表示式。
tag为布尔型变量。
思路:用栈st进行判定,遇到(、[、{时入栈,当遇到)、]、}时,检查当前栈顶元素是否是对应的(、[、{,若是则退栈,否则返回表示不配对。当整个算术表达式检查完毕时,若栈空则表示括弧正确配对,否则不匹配。
伪代码:
#define m0 100 //m0为字符串中最大字符个数
char exp[m0];
int tag;
bool correct(exp,tag)
{ char st[m0];
int top=0,i=1;
tag=1;
while(i<=m0&&tag){ &

本文介绍了一种使用栈来判断算术表达式中括号是否正确配对的方法。通过遇到左括号入栈,遇到右括号时检查栈顶元素是否匹配,并在遍历完整个表达式后检查栈是否为空,来确定括号是否配对。同时提供了相应的伪代码实现。
最低0.47元/天 解锁文章
743

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



