数据结构-逆波兰表达式

  • 2020-10-08
  • 0
  • 0

一、逆波兰表达式(RPN)

对于算式(9-8) * (1+2)的

逆波兰表达式为 :9 8 – 1 2 + *

二、逆波兰怎么实现:

 遇到数字9 8就进栈,遇到减号就弹出两个元素进行运算并把结果入栈。
 遇到数字4 5就进栈,遇到加号就弹出两个元素进行运算并把结果入栈。
 然后遇到乘法运算符,就将1 和 3 弹出进行乘法运算,此时栈空无数据压栈,3为最终结果。 

三、写逆波兰计算器:

  • 1.实现对逆波兰输入的表达式进行计算
  • 2.支持带小数点的数据
 正常表达式----> 逆波兰表达式
 -a+b---> a b +
 -a+(bc) ---> a b c - +
 -a+(b-c)*d ---> a b c - d * + 
 -a+b*(b-c)---> a b d c - * + 

正常表达式—-> 逆波兰表达式

 -a+b---> a b +
 -a+(bc) ---> a b c - +
 -a+(b-c)*d ---> a b c - d * + 
 -a+b*(b-c)---> a b d c - * + 
逆波兰计算器代码会在下一篇写出!

评论

还没有任何评论,你来说两句吧