码迷,mamicode.com
首页 > 其他好文 > 详细

前缀转中缀(表达式)

时间:2014-10-26 14:15:16      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:blog   http   ar   sp   问题   log   html   bs   ef   

问题描述:

  前缀转中缀示例,允许有多余括号:

    * + 4 2 + 3 6  => ( 4 + 2 ) * ( 3 + 6 ) 

    - + / 3 4 2 5 => (3 /4 + 2) - 5

    - + 3 / 4 2 5 => (3 + 4/2) - 5 

 

思路1(递归):

  1. 从左向右扫描

  2. 遇到操作符,则递归求解,返回新字符串,遇到数字,则直接返回数字串,例如:

    case ‘*‘:

      return "(" + exp() + "*" + exp() + ")";  //注意加括号,保证中缀表达式能正确求解

    default:

      return next_str;

 

思路2(树):

  1. 从左向右扫描

  2. 根据操作符,不断构造子树

  3. 中序遍历树,并输出,即可得到中缀表达式

 

转载请注明引用自:

  http://www.cnblogs.com/breakthings/p/4051912.html 

前缀转中缀(表达式)

标签:blog   http   ar   sp   问题   log   html   bs   ef   

原文地址:http://www.cnblogs.com/breakthings/p/4051912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!