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

表达式x*y-z+u的逆波兰表示是

  • xyzu*—+
  • xyz*—u+
  • xyz—*u+
  • +—*xyzu

     举报   纠错  
 
切换
1 个答案

答案为C。

该题目是将中序表达式转变为后序表达式。

进行中缀转后缀操作,使用符号栈存储遍历过程中遇到的符号。

从左到右遍历中缀表达式,遇到数字直接输出,遇到符号准备将其放入符号栈:

若符号栈为空,直接放入。

若当前符号大于栈顶符号优先级,直接放入。

如果小于等于栈顶符号优先级,将栈顶符号弹出,直到栈顶符号小于当前符号,再将当前符号入栈。

如果当前符号为“(”,直接入栈。

如果当前符号为“)”,依次将符号栈的符号弹出,直到找到“(”。

按此规则进行遍历,最后如果符号栈仍有符号,弹出即可。

 
切换
撰写答案