【Java数据结构】用栈实现后缀表达式求值

后缀表达式,即逆波兰式,是波兰逻辑学家卢卡西维奇(Lukasiewicz)发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。
——百度百科_后缀式

算法规则:

1、建立一个栈S

2、从左到右读表达式,如果读到操作数就将它压入栈中,如果读到运算符(一般是二元操作符,例如+、-、*、/)则取出由栈顶向下的前2个元素,按操作符规则运算

3、再将运算的结果代替原栈顶取出来的2个元素,压入栈S中 。如果后缀表达式未读完,则重复上面过程,最后输出栈顶的数值则为结束。 继续阅读

Share