转载自:https://blog.csdn.net/tomcmd/article/details/48603097
一. 中缀式转化成前缀式和后缀式:
一个中缀式到其他式子的转换方法
这里我给出一个中缀表达式
a+b*c-(d+e)
第一步:按照运算符的优先级对所有的运算单位加括号
式子变成拉:((a+(b*c))-(d+e)) 第二步:转换前缀与后缀表达式 中缀转前缀:把运算符号移动到对应的括号前面 则变成拉:-( +(a *(bc)) +(de)) 把括号去掉:-+a*bc+de 前缀式子出现 中缀转后缀:把运算符号移动到对应的括号后面 则变成拉:((a(bc)* )- (de)+ )-改成:((a(bc)* )+ (de)+ )- 把括号去掉:abc*-de+- 后缀式子出现改成:abc*+de+-
二. 前缀式转化成中缀式:
-+a*bc+de
从后往前遇到运算符,将其与后面两个运算数结合,加上括号,当成新的运算数
变成:(-(+a(*bc))(+de))
将运算符加在括号内运算数中间。变成:((a+(b*c))-(d+e))
去掉部分括号:a+b*c-(d+e)
三. 后缀式转化成中缀式:
abc*+de+-
从前遇到运算符,将其与前面两个运算数结合,加上括号,当成新的运算数
变成:((a(bc*)+)(de+)-)
将运算符加在括号内运算数中间。变成:((a+(b*c))-(d+e))
去掉部分括号:a+b*c-(d+e)