中缀表达式就是我们平时看到的普通的表达式。前缀表达式又叫波兰式,后缀表达式叫逆波兰式。下面以中缀转后缀为例。如果要按常规的方法来写的话,通常会因为优先级和规则太多而混淆。所以这种方法是一种小窍门,目前只试验了中缀转后缀。
具体方法为:为避免不清楚优先级大小,在每一步运算外都加上括号,然后以最里层的括号为开始,将运算符移到括号外,以此类推,当运算符都移完以后,再将括号依次删除,剩下的就是转化好的后缀表达式,以下为演示步骤
例:中缀表达式为:X=A+B*(C-D)/E
--> ( X= ( A+ ( ( B* ( C-D ) ) /E ) ) )
--> ( X= ( A+ ( ( B* ( C D ) - ) /E ) ) )
--> ( X= ( A+ ( ( B ( C D )-) * /E ) ) )
--> ( X= ( A+ ( ( B ( C D )-)* E)/) )
--> ( X= ( A ( ( B ( C D )-) * E ) /+) )
--> ( X ( A ( ( B ( C D )-)* E) /+ )=)
删括号后得出结果 --> X A B C D - *E / + =