解析算术表达式
需要用到的存储结构是栈,下面是步聚:
1,将算术表达式转换成另一种形式:后缀表达式。
2,计算后缀表达式的值。
简单说明下后缀表达式: 我们平时用到的都是中缀表达式,像A+B, B+C*A等这样的,转换成后缀表达式的话就是这样的:AB+, BCA+*,
一个表来说明:
转换的步聚:
1,从左到右读取算式。
2,已经读到了可以计算值的两个操作数和一个操作符时,就可以计算了,并用计算结果代替那两个操作数和那个操作符。
3,继续这个过程——从左到右,能算就算——直到表达式的结尾。
一个例子:
记住一点就是,栈(后进先出,LIFO)存储的是操作符,这个是比较重要的。
让我们看个直观的例子: