逆波兰式表示方式把运算符写在运算对象的后面,不需要使用括号。
由于逆波兰式表示中的各个运算是按顺序执行的,因此,它的计值很容易实现。为此,仅需从左往右依次扫视表达式中的各个符号,每遇到一个运算对象,就把它压入栈顶暂存起来;每遇到一个二元(或一元)运算符时,就取出栈顶的两个(或一个)运算对象进行相应的运算,并用运算结果去替换栈顶的这两(或一)个运算对象,然后再继续扫视余留的符号,如此等等,知道扫视完整个表达式为止。当上述过程结束时,整个表达式的值将留于栈顶。
- 例子
a-b+c*d 对应的逆波兰式为 ab-cd *+