C语言:数据结构(写出下边这个中缀表达式的后缀表达式)

A*-B+C 答案为 AB-*C+
这个答案是怎么得出来的,谁能给我通俗的说一下过程!麻烦了!!

网上说的都比较麻烦,其实很简单:
首先你要知道一点就是中缀转为后缀时操作数的顺序是不会变的。另外“(”也不会出现在后缀表达式中。
然后,你可以这样看,在这个表达式中,按照运算法则,应该先算(-B) (这里你的表达式里应该是少了个括号),所以就是“B-”在一起,然后再把(-B)的结果乘以A,就变成了 AB-*(因为是A*(-B),所以A在B前,而“*”在“-”的后面),然后将上面的结果+C,同样的道理分析,自然就是:AB-*C+了。(注:因为C是在AB的后面,所以C在*的后面)
如果中缀表达式是:C+A*(-B),则后缀表达式即为:CAB-*+。
希望你能理解!!!

同样的例子,请参见:http://zhidao.baidu.com/question/402558457.html?oldq=1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-30
运算符分单目和双目,双目如+、-等,就是说需要两个参数参与运算。
所谓的中缀和后缀说的就是运算符放在其参数的位置。
最简单的中缀A-B,后缀则是AB-。
后缀AB-C+,相当于(AB-)C+,即中缀(A-B)+ C
第2个回答  2012-07-30
这个是树的遍历方式不同得出的吧。追问

请问:那这个怎么遍历得到的哪?

相似回答