前缀、中缀、后缀表达式


简介

中缀表达式(正常的表达式)

[(1+2)*3-4 ]

前缀表达式(运算符位于操作数之前)

[-*+1234 ]

后缀表达式(运算符位于操作数之后)

[12+3*4- ]

前缀表达式计算

从右向左遍历,遇到数字的时候,将数字入栈,遇到运算符的时候,弹出栈顶两个数字运算,将运算结果入栈,直到剩下最后一个数字。

遍历元素 备注
4 4 4入栈
3 43 3入栈
2 432 2入栈
1 4321 1入栈
+ 433 12出栈,作1+2=3入栈
* 49 33出栈,作3*3=9入栈
- 5 49出栈,作9-4=5入栈

后缀表达式计算

从左向右遍历,遇到数字的时候,将数字入栈,遇到运算符的时候,弹出栈顶两个数字运算,将运算结果入栈,直到剩下最后一个数字。

遍历元素 备注
1 1 1入栈
2 12 2入栈
+ 3 12出栈,作1+2=3入栈
3 33 3入栈
* 9 33出栈,作3*3=9入栈
4 94 4入栈
- 5 94出栈,作9-4=5入栈
原文地址:https://www.cnblogs.com/pullself/p/10049670.html