`
lovecontry
  • 浏览: 1035696 次
文章分类
社区版块
存档分类
最新评论

二叉树应用——计算表达式

 
阅读更多

由于时间比较匆忙,只实现了计算单个数字的,计算有十位或者更高位的还没去实现,之前用栈做的就可以,这里用二叉树做的,一开始把数据定为char类型,所以后来也就没去改它,就先实现了只有个位数的情况下的表达式的计算,更高位的表达式的计算,就是将数据的类型定位string类型,然后在数字组装和压栈的时候改些东西就好,这次由于重点是通过输入一个表达式,并建立起相对应的表达树,所以那里不想去深究。下面是代码,运算符号的优先级的判断,是用了栈的的结构特点,下一篇日记会贴出,只有栈和数组实现的表达式的计算,那个可以计算高位。

文件“tree.h”


测试函数"main.cpp"


输入 6+5*9-7/(3+4)

生成的二叉树如下所示:

输出结果:

最近也领悟到,当你调试一段比较长的代码时,如果你静下心来,你会发现,你为了跟踪某一段代码,可以想出很多很奇怪又很简单的方法,当错误都清理完后,那种成就感也是不言而喻的

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics