一、中缀表达式转化为后缀表达式
1.规则
-
从头到尾读取,对不同的对象操作不同
-
数字:直接输出
-
左括号(:直接压入堆栈,不用管优先级,但在左括号压入堆栈之后,左括号默认为优先级最低
-
右括号):遇到右括号以后就一个一个pop运算符,直到遇到左括号,把右括号pop以后停止操作
-
运算符:
与栈顶运算符比较:大于压栈,小于等于将栈顶pop(while) -
所有的处理完后,把堆栈中的一个一个输出
2.例题
解析:
二、后缀表达式的计算
1.规则
-
碰到数字:放进栈中
-
碰到运算符:取出栈顶的两个数字利用运算符进行运算后的到结果再压入栈中
2.例题
以上面的后缀表达式的计算过程为例:2 6 3 / 4 + * 5 -
过程: