求大神们指导一个程序,括号匹配问题,代码打出来了为什么无论输入什么结果都是括号匹配
发布网友
发布时间:2022-05-16 05:13
我来回答
共2个回答
热心网友
时间:2023-10-12 04:00
逆波兰算法中的中缀转后缀的算法原理是这样的:
第一种情况:由表达式左边开始往右遍历,如果是数字则输出拼到后缀表达式里(出栈的元素也是一 样)。
第二种情况:如果是+-*/四则运算则判断栈顶元素的运算符是否大于当前的符号.(乘除优先于加减),
模拟:如果当前元素是+(或-),而栈顶元素是*(或除),那么,此时栈顶元素依此出栈直至栈顶元素 的优先级不大于当前元素。然后当前元素进栈。
第三种情况:如果当前元素是左括号"(",则进栈。--因为它待与右括号匹配。
第四种情况:如果当前元素是右括号")"则栈顶元素依此出栈,直至与它匹配的左括号"("出栈为止。
热心网友
时间:2023-10-12 04:01
check( ) 中的算法出问题了吧