Advertisement

逆波兰表达式与C++代码结合

阅读量:

当用户输入一个数学表达式时,该表达式通常为中缀形式,首先需要将其转化为后缀表达式(即逆波兰表达式),随后再进行计算。

在《大话数据结构》第104至100页中有详尽的说明,以下为我理解后的代码实现过程。

代码设计思路如下:

(1)首先对输入的中缀表达式的合法性进行验证,通过函数bool isStringLegal(const char* str)实现。

(2)接着将中缀表达式转换为对应的后缀表达式。

(3)最后根据生成的后缀表达式计算得出结果,该过程由函数double getTheResult(vector &vec)完成。

需要注意的是,所处理的表达式支持加、减、乘、除以及括号等运算符号,输入的数据类型为整数型,而最终的运算结果则以双精度浮点数形式输出。

复制代码
 #include <iostream>

    
 #include <math.h>
    
 #include <map>
    
 #include <vector>
    
 #include <string.h>
    
 #include <memory>
    
 #include <string>
    
 #include <stdio.h>
    
 #include <stack>
    
 #include <stdlib.h>
    

全部评论 (0)

还没有任何评论哟~