初赛复习:前缀表达式和后缀表达式

前缀表达式和后缀表达式——有时也被成为波兰表达式和逆波兰表达式——是对仅包含二元关系运算符和括号的表达式的变形。

事实上,前缀表达式和后缀表达式没有本质区别,因此只要会了前缀表达式,就会了后缀表达式——记住,前缀表达式是把运算符提到最前面的表达式,而后缀表达式反之。

对于一个这样的式子:
a+b/c
我们按照运算符优先级依次操作:
a+/bc
+a/bc
这样就将所有符号提到了整个式子的最前面。
对于包含括号的表达式,例如:
2+3(4-(5+6))/7 操作流程依然是按照运算符优先级的。 2+3(4-+5 6)/7
2+3(-4+5 6)/7 2+3(-4+5 6)/7
2+/3-4+5 6 7 +2/3-4+5 6 7

而如果要求后缀表达式,那操作就反之——从优先级最低的操作符开始,把操作符提到最右边。
还是一样的例子:
2 3(4-(5+6))/7+ 2 3(4-(5+6))7/+
2 3(4-(5+6))7/+ 2 3(4(5+6)-)7/+
2 3 4 5 6+-*7/+

发表评论

电子邮件地址不会被公开。