是否存在单遍扫描即可同时完成中缀表达式转换与求值的算法
你要找的是单遍中缀表达式求值算法,本质是调度场算法的同步计算变种,不需要单独输出完整的后缀表达式,遍历过程中就能完成计算。
你可以用以下关键词搜索相关内容:
- 双栈中缀表达式求值
- 调度场算法实时计算变体
- 中缀表达式单次遍历求值
该算法的核心逻辑完全可以封装在单个循环内:仅需要维护操作数栈、运算符栈两个数据结构,遍历表达式的过程中按优先级处理运算符,每次弹出运算符时直接从操作数栈取出两个元素计算,结果压回操作数栈即可,核心伪代码长度确实可以控制在20行以内,完全支持你提到的calc("(44 / (7 + 4) * 5 - 17)")这类带括号、四则运算的字符串输入直接返回计算结果的需求。
内容的提问来源于stack exchange,提问作者RandomUser123
相关产品推荐
相关产品推荐

