天天看点

逆波兰表达式(后缀表达式)

     逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。逆波兰表达式又叫做后缀表达式。下面是一些例子:

正常的表达式 逆波兰表达式

a+b ---> a,b,+

a+(b-c) ---> a,b,c,-,+

a+(b-c)*d ---> a,b,c,-,d,*,+

a+d*(b-c)--->a,d,b,c,-,*,+

a=1+3 ---> a=1,3 +

   通过后缀表达式计算表达式值的过程:顺序访问表达式的每一项,若该项为操作数,则将其压入栈中;若该项是操作符<op>,则连续从栈中退出两个操作数X和Y,形成运算指令X<op>Y,将其结果重新压入栈中。当表达式的每一项都访问并处理,则其计算结果就是当前栈顶存放的值。

逆波兰表达式(后缀表达式)

   下面我们以表达式4+3*4+3*(1+5)———>434*+315+*+

逆波兰表达式(后缀表达式)

源程序:

测试代码:

结果:

逆波兰表达式(后缀表达式)

继续阅读