4.将下列表达式的逆波兰式写出来
来源:百度知道 编辑:UC知道 时间:2024/06/28 13:25:10
(A*(B+C)+D)*E-F*G
(A-C)*(B+D)+(E-F)/(G+H)
(A-C)*(B+D)+(E-F)/(G+H)
ABC+*D+E*FG*-
AC-BD+*EF-GH+/+
我教你个简单方法,csdn上看来的。
以(A*(B+C)+D)*E-F*G为例:
1)加括号 ((((A*(B+C))+D)*E)-(F*G))
2)提算符 ((((A,(B,C)+)*,D)+,E)*,(F,G)*)-
3)去括号 ABC+*D+E*FG*-
同样,对于(A-C)*(B+D)+(E-F)/(G+H)
AC-BD+*EF-GH+/+
逆波兰式其实就是二叉树的后序遍历,编译器根据你写的表达式生成一个二叉树,在后序遍历,得到逆波兰式。
ABC+*D+E*FG*-
AC-BD+*EF-GH+/+
从左向右每2个相近的字符和运算符先运算,在和别的运算
ABC+*D+E*FG*-
AC-BD+*EF-GH+/+
他们不是回答了吗? 绝对正确