中缀表达式转换为前缀或后缀表达式的手工做法
以 a/b + ( c*d - e*f) / g
为例:
步骤1:按照运算符的优先级对所有的运算单元加括号。 ((a/b) + (( (c*d) - (e*f)) / g))
步骤2:转换为前缀或后缀表达式。
前缀:把运算符号移动到对应的括号前面,式子变为 +(/(ab)/(-(*(cd)*(ef))g))
。
把括号去掉:+/ab/-*cd*efg
前缀式子出现。
后缀:把运算符号移动到对应的括号前面,式子变为 ((ab)/(((cd)*(ef)*)-g)/)+
。
把括号去掉:ab/cd*ef*-g/+
前缀式子出现。