JAVA中缀表达式转后缀表达式的时候,怎么取前一个操作符和你所取的操作符进行比较呢?

来源:百度知道 编辑:UC知道 时间:2024/05/09 04:15:15
JAVA中缀表达式转后缀表达式的时候,怎么取前一个操作符和你所取的操作符进行比较呢?因为,此时栈顶可能不是操作符啊
比如此时你碰到的是个括号呢?

1、 操作数直接放入结果
2、 当前操作符与栈中的操作符比较:
栈空:进
当前高:进
当前低:将栈顶弹出放入结果(不会出项连续同级符号)
相等:弹出栈顶,然后进
3、 左括号直接进栈,右括号将栈顶所有操作符弹出,直到遇到第一个左括号
4、 扫描完成时,将栈顶符号直接弹出

还是应该用树来组织阿。括号是一个分支,解析完了不应该还有括号的。