中缀,前缀和后缀

290 阅读1分钟

中缀转化前缀和后缀步骤:

按照运算符的优先级对所有的运算单位加括号 将运算符移动到对应括号的前面(前缀表达式)或后面(后缀表达式) 去掉括号,得到前缀或后缀表达式 示例:

中缀表达式:1+(2+3)×4-5

1)加括号 式子变成 ((1+((2+3)×4))-5)

2)移动运算符

对于前缀表达式,变成了 -(+(1×(+(23)4))5)

对于后缀表达式:变成了((1((23)+4)×)+5)-

3)去掉括号 前缀表达式: - + 1 × + 2 3 4 5 后缀表达式:1 2 3 + 4 × + 5 -

前缀表达式计算方式(波兰表达式)

从右至左扫描表达式

遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素 operation 次顶元素),并将结果入栈

重复上述过程直到表达式最左端,最后运算得出的值即为表达式的结果

后缀表达式计算方式(逆波兰)

从左至右扫描表达式

遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(次顶元素 operation 栈顶元素 ),并将结果入栈

重复上述过程直到表达式最右端,最后运算得出的值即为表达式的结果