后缀表达式:又称逆波兰式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)。比如5-(3+4/2)×8的后缀表达式为5342/+8×-
中缀表达式转后缀表达式
转化步骤(机算过程)
1.初始化一个栈,用于保存暂时还不能确定运算顺序的运算符,从左到右
2.遇到操作数,直接加入后缀
3.遇到界限符,遇到"(“直接入栈,遇到”)"则依次弹出栈内运算符并加入后缀
4.遇到运算符,则依次弹出栈中优先级高于或等于当前运算符的所有运算符加入后缀,自己入栈,若碰到"("或栈空则停止。之后再把当前运算符入栈
5.最后将栈中剩余运算符依次弹出,并加入后缀表达式
以中缀表达式5-(3+4/2)×8为例,其步骤如下