demo01:
a+b*c+( d*e + f )*g转换成abc*+de*f+g*+
1.当读到一个操作数,立即将他放到输出中,操作符则不立即输出。放入栈中,遇到左
1.a+b*c+(d*e+f)*g
stack :
+ 输出 a,b
back top:
2. read *: 输出 a b c
*
+
3. read +: 输出 a b c * +
注意
* > +; out
+ = +; out
+; 注意这个是新的+
4.继续读入(
( 具有最高优先级 输出 a b c * + d
(
+
5. 读入*
+(* a b c * + d e
6.read + a b c * + d e
+<*;
+ ( *
7. read + a b c * + d e
+ ( *
8. a b c * + d e * f
+ ( +
9. read )
匹配退出: a b c * + d e * f +
+
10 :
+ * a b c * + d e * f + g
11
结束: a b c * + d e * f + g (* +) //依次从栈底压入输出