文件名称: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