问题标签 [infix-notation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1560 浏览

oop - 从中缀到前缀符号的转换

我最近开始学习 Clojure。通常它看起来很有趣,但我不能习惯一些语法上的不便(与以前的 Ruby/C# 经验相比)。

嵌套表达式的前缀表示法。在 Ruby 中,我习惯于使用从左到右的链接/管道来编写复杂的表达式:some_object.map { some_expression }.select { another_expression }。当您逐步从输入值移动到结果时,这真的很方便,您可以专注于单个转换,而无需在键入时移动光标。相反,当我在 Clojure 中编写嵌套表达式时,我将代码从内部表达式编写到外部,并且必须不断移动光标。它减慢并分散注意力。我知道->and->>宏,但我注意到它不是惯用的。当您开始使用 Clojure/Haskell 等进行编码时,您是否遇到过同样的问题?你是怎么解决的?

0 投票
1 回答
547 浏览

c++ - 使用 std::map 评估表达式树

我正在使用抽象数据类型来评估与以前不同的方式相反的表达式树,我不确定如何准确地使用 map 函数。

好的,所以这个功能

调用这个函数,在这个函数中我不知道要返回什么

我以前用这种不同的方式这样做

0 投票
2 回答
3184 浏览

java - 在字符串中的每一个或两个字符后插入空格

我需要编写代码来更正用户输入。输入是中缀形式的数学表达式。为了使我的计算正确,我需要将每个操作数与运算符隔开。

你能帮我写一个能提供以下预期结果的方法吗?

预期输入:13*21-5+33 预期输出:13 * 21 - 5 + 33

我所做的研究:我只能找出如何在字符串中的每个字符之间添加空格,而这不适用于计算具有两位数值的表达式。即:1 3 * 2 1 - 5 + 3 3. Java 中如何在现有字符串的每个字符后插入空格?

谢谢

0 投票
1 回答
2856 浏览

infix-notation - 从中缀转换为后缀时,如何在单进制和二进制 +/- 之间指定

在这个语法下:

我正在使用一个函数(分流码算法)从中缀转换为后缀并且它有效!除了它不包括一元 - 意思是否定和一元 + 这并没有真正做任何事情。

一旦转换为 post fix,一元 + 将是 ap,一元 - 将是 m。例如:

因此,如果我正在阅读中缀表达式,如何在一元和二进制加减之间指定?

0 投票
1 回答
807 浏览

java - 用于验证中缀并将中缀转换为前缀/后缀表示法的标准 java 库?

是否有任何 java 实用程序来验证和/或将中缀转换为前缀/后缀

0 投票
1 回答
705 浏览

stack - Maximum number of elems on stack for infix -> postfix translation

I got this as an interview question.

What is the maximum number of elements that can be on stack at a specific moment while doing a translation from infix form to reversed postfixed Polish form?

I know that the principle is that on the stack there cannot be elements with higher priority (usually * and /) under the ones with smaller priority (+ and -). I tried making an algorithm keeping track of a global and local maximum number, but I didn`t found out a certain rule.

For example if i have infix: 2 - 3 * 4 * 5 / 1 + 10
Stack 1: - * * / => maxLocal = 4 maxGlobal = 4

Stack 2: (After eliminating /, * and * because + has lower priority) - +
=> maxLocal = 2 maxGlobal = 4

Can you please help me?

0 投票
1 回答
1928 浏览

objective-c - 后缀到中缀转换器目标 C

我正在尝试制作一个 RPN 计算器程序,并希望有一个标签来显示您输入的表达式。如果您输入 3,5,4,+,/,标签将显示 ((4+5) / 3)。我在实现这一点时遇到了麻烦。我正在使用一个 mutableArray,我称之为堆栈,它同时包含数字和操作数。另一个主要问题是传递的字符串不会是一个完整的字符串,而是每次用户输入一个值时都会传递它,因此程序必须在堆栈上只有一个或两个项目的情况下连续运行。这是代码。

0 投票
5 回答
4456 浏览

c++ - 带有功能支持的后缀中缀

整个网络上有许多算法可以将中缀转换为后缀。但我的问题是如何使它支持功能?例如 sin(x+y)*z。

我会很感激一个代码。

0 投票
2 回答
5705 浏览

python - 好的中缀前缀在 Python 中实现,涵盖 C 程序的更多运算符(例如 <、<= 等)?

我一直在寻找 Python 的实现,但没有太多运气,它将中缀转换为前缀,范围在足够数量的算术和逻辑运算符上,并关心它在一个好的 python 实现上的属性。更具体地说,我对出现在 C 程序的条件子句上的运算符感兴趣。(例如,它将转换a > 0 && b > 1为前缀。

由于我仍然是 Python 的新手,如果有人可以为我提供实现或一些关于此的提示,我将不胜感激。

我在互联网上找到了一个我丢失了(下)参考的实现,但它只关心更简单的运算符。我对如何在这个版本上执行此操作有点无能为力,如果有人知道一个已经包含所有运算符的版本,我将不胜感激,以避免任何运算符被意外忽略。

这样的实现也应该考虑括号。

如果您需要更多详细信息,请发表评论!

谢谢你。

0 投票
1 回答
1709 浏览

parsing - 如何将用户友好的中缀数学代码转换为 Clojure 代码?

我希望用户能够像这样输入:

,因此它将转换为:

,所以我可以将它评估为一些稍后将被 JITted 和有效执行的函数。

是否已经有可用的库(具有操作员优先级)可以在最新的 Clojure 中运行?