Tag: rpn

中缀到Postfix和一元/二元运算符

我有一段代码将中缀表达式转换为内存中的表达式树。 这很好用。 只有一个小问题。 我只是想弄清楚如何正确地使用一元运算符(正确的关联运算符)。 使用以下中缀表达式: +1 + +2 – -3 – -4 我希望RPN为: 1+2++3-4– 然而,我能找到的在线中缀后转换器都没有像我期望的那样处理这个例子。 有没有人对处理右关联运算符有明确的解释,特别是那些可以被误认为是一元运算符的二元运算符? 编辑/澄清:我想知道如何在从中缀到后缀的翻译过程中处理一元运算符。 即:识别相同的’ – ‘字符,例如作为一元而不是二元运算符,因此具有不同的优先级。 我会考虑使用状态机,或许有两个状态,但……?