实用编程技巧:RPN 计算器、词频统计与长句查找
1. RPN 计算器的实现
RPN(逆波兰表达式)计算在处理复杂运算时有着独特的优势,它先计算括号内的运算,再对中间结果进行最终运算。下面我们将使用 STL 的 deque
容器来构建一个简单的 RPN 计算器。
1.1 选择 deque
容器的原因
stack
类是一个容器适配器,通常使用 deque
作为其存储容器。对于我们的需求, deque
不仅能满足 stack
的功能,还允许我们遍历和显示 RPN 栈,就像纸带计算器一样。
1.2 RPN 类的实现
#include <iostream>
#include <deque>
#include <string>
#include <map>
#include <cmath>
#include <format>
#include <limits>
class RPN {
std::deque<double> deq_{};
constexpr static double zero_{0.0};
constexpr static double inf_{std::numeric_limits<double>::infinity()};
public:
//