前缀表达式(波兰式):
什么是前缀表达式呢?
定义:
简单来说,前缀表达式是一种算术表达式,它 不需要 括号就可以进行 有括号 的运算,并且 运算符在前, 操作符在后.
运算:
如何对前缀表达式进行计算呢?
可以用 压栈法 (一定要 从右往左 遍历):
举个例子:
对前缀表达式 : - * + 3 4 5 6 进行计算:
建立一个栈: S;
S栈 | 剩余的字符 | 说明 |
---|---|---|
6 | - * + 3 4 5 | 遍历6,进栈 |
6,5 | - * + 3 4 | 遍历5,进栈 |
6,5,4 | - * + 3 | 遍历4,进栈 |
6,5,4,3 | - * + | 遍历3,进栈 |
6,5,7 | - * | 遍历+,弹出 4,3,4 + 3 = 7 把7压进栈 |
6,35 | - | 遍历*,弹出 5,7,5 * 7 = 35 把35压进栈 |
-21 | 无 | 遍历-,弹出 6,35,6 - 35 = -21. |
于是, 前缀表达式: - * + 3 4 5 6 就转化为 中缀表达式: 6 - 5 * (4 + 3) = -21
中缀表达式(算术表达式):
什