经典指数          
原因
3058
浏览数
0
收藏数
 

已知一算术表达式的中缀表达式为a-(b+c/d)*e,则后缀形式为?
  • -a+b*c/d
  • -a+b*cd/e
  • -+*abc/de
  • abcd/+e*-

     举报   纠错  
 
切换
1 个答案

中缀表达式转后缀表达式的方法:

1.遇到操作数:直接输出(添加到后缀表达式中)

2.栈为空时,遇到运算符,直接入栈

3.遇到左括号:将其入栈

4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出。

5.遇到其他运算符:加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后将该运算符入栈

6.最终将栈中的元素依次出栈,输出。

对于a-(b+c/d)*e:    [ 输出,入栈]

[a,  ] [a,-] [a,(-]  [ab,(-]

 [ab,+(-]  [abc,+(-]  [abcd,/+(-]   [abcd/+,-]    [abcd/+e,-]     [abcd/+e*-]

 
切换
撰写答案