前缀、中缀、后缀表达式


简介

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

\[(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入栈
posted @ 2018-12-01 16:37  水喵桑  阅读(198)  评论(0编辑  收藏  举报