c++实现字符串表达式求值(逆波兰式)

时间:2014-05-13 11:40:07
【文件属性】:

文件名称:c++实现字符串表达式求值(逆波兰式)

文件大小:55KB

文件格式:RAR

更新时间:2014-05-13 11:40:07

逆波兰式

在程序设计中,可能碰到需要对字符串数学表达式求值的问题,常用的方法是解析表达式,生成二叉树,然后进行计算。编译器就是使用这种方法来解析程序中的表达式的。这种方法实现起来有点难度,需要考虑运算符的优先级,括号的配对,堆栈的使用等等。我们正常情况下看到的数学表达式如果用二叉树遍历的话,恰好是中序遍历,故叫做中序表达式。除此之外,还有前序表达式,后序表达式。如:a+b+c(中序),++abc(前序),ab+c+(后序),如果表达式含有×,/,()等就更复杂了。 后缀表达式也称逆波兰表达式 因其使表达式求值变得轻松,所以被普遍使用。 程序解析字符串表达式,将其转换为逆波兰式,然后生成表达式二叉树,最后计算表达式值。


【文件预览】:
CalcStrExpression
----main.cpp(557B)
----ExpTree.cpp(1KB)
----ExpAlgorithm.h(2KB)
----ExpAlgorithm.cpp(6KB)
----OperatorStack.h(517B)
----ExpTree.h(1KB)
----CalcStrExpression.dsp(5KB)
----OperatorStack.cpp(2KB)
----SimpleStack.h(3KB)
逆波兰式表达式.doc
二叉表达式树.doc

网友评论

  • 字符不行的
  • 不能做字符型的计算,比如((a+b)*c)*(d+e)-f这样的不可以。失望。
  • 只支持 + - * / % ( )
  • 很靠谱的代码,非常不错,详尽的代码及注释,很好,谢谢分享
  • 算法值得参考和学习
  • 提供的算法还是比较有借鉴价值
  • 看了下,还行,下了你就知道了
  • 不错的资源,比较强大
  • 写得不错,就是不支持函数求值与浮点运算
  • 不错了,很值得学习!
  • 不得不说 太有用了 还有注释啊 真清晰!
  • 明白了,不错
  • 代码风格非常不错
  • 很好的程序,靠谱
  • 改一下可以用,但现在的算法只能是整型运算
  • 还不错,但是功能太简单了 适合入门者 高手就不用下载了
  • 非常不错,不仅有代码,还有解释!
  • 很详细,算法条理十分的清晰。
  • 公式编程很有用哈!
  • 最近学习了这个,看了基本上明白了,谢谢分享!
  • 写的很详细
  • 代码加说明 非常好
  • 非常详细,设计很好,谢谢分享!
  • 作者的算法设计的很精妙啊,我之前也写了个,相比作者的更好些
  • 很感谢分享,说明得非常到位