中缀表达式:运算符在运算数的中间 例 a + b
前缀表达式:运算符在运算数的左边 例 + a b
后缀表达式:运算符在运算数的右边 例 a b +
中缀转前缀
a * ( b + c ) - d
怎么把中缀转成前缀呢?一个最快的方法就是:在每个运算符的两边都加上括号
( ( a * ( b + c ) ) - d)
之后我们只需要把运算符挪到它所在表达式括号的左边 如“(b + c)--> + ( b c )”
得到
- (*( a + ( b c ) ) d )
去掉括号得到前缀表达式
- * a + b c d
中缀转后缀
a * ( b + c ) - d
和转前缀一样思路,转后缀同样是先加括号
( ( a * ( b + c ) ) - d)
然后把运算符挪到它所在表达式括号的右边
( ( a ( b c ) + ) * d ) -
去掉括号得到后缀表达式
a b c + * -
练习一下
9+(3-1)*3+10/2