后缀表达法:
后缀表达式也称为波兰逆序表达式(Reverse Polish Notation)或者RPN。也即是操作符跟在两个操作数的后面。例如:
中缀表达式 | 后缀表达式 |
A+B-C | AB+C- |
A*B/C | AB*C/ |
A+B*C | ABC*+ |
A*B+C | AB*C+ |
A*(B+C) | ABC+* |
A*B+C*D | AB*CD*+ |
(A+B)*(C-D) | AB+CD-* |
((A+B)*C)-D | AB+C*D- |
A+B*(C-D/(E+F)) | ABCDEF+/-*+ |
除了中缀和后缀表达法,还有一种前缀表达法,操作符写在两个操作数的前面,例如:+AB代替AB+。这种表达法和后缀表达法功能类似,但是使用很少。
后缀表达式的规则:就是每遇到一个操作符,就用操作符来运算在这之前的最后看到的两个操作数。对此就表示可以使用栈结构来存储操作数。