问题标签 [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 投票
2 回答
2504 浏览

c++ - 函数中返回语句的段错误

我的程序应该将提示从中缀转换为后缀。到目前为止,通过调试器和其他各种方法,我已经找到了我的段错误的确切点,但不明白为什么。

这是我的代码:

这是 itop.h:

这是我的 itop.cpp 文件:

这是 main.cpp:

该函数在

问题就在这里:

特别是在返回 num 之前,我收到“分段错误(核心转储)”错误消息。我使用过 gdb,我所知道的是,在“检查 + 或 -”之后,我看到“$1 = 2”。我不太确定这意味着什么,但这是我想要返回的。

感谢您的帮助。

0 投票
1 回答
2553 浏览

java - 使用堆栈和运算符优先级对后缀进行中缀

我知道在 SO 上已经有类似的问题,但我找不到解决我遇到的问题的问题。我正在尝试制作一种将中缀表示法表达式转换为后缀表示法的方法,同时实现运算符的优先级以获得正确的输出。我用常用的方法(push、pop、peek 等)制作了自己的堆栈类,它工作得非常好。我的问题是,对于更复杂的表达式,例如 A-(B+C^D^C)/D*B ,我得到了错误的输出。转换的结果应该是 ABCDC^^+D/B*- 而我不断得到 ABCDC^^+D/-B

这是我的方法:

如果您需要任何组件方法,请告诉我。非常感谢任何帮助!

0 投票
1 回答
5768 浏览

complexity-theory - 前缀时间和空间复杂度的中缀

我一直在编写一个 Java 程序,使用操作数堆栈和运算符堆栈从中缀表示法转换为前缀表示法。我已经根据此处最佳答案中的伪代码实现了一个工作转换器:

中缀到前缀的转换

但是,我现在正在尝试计算上述算法的时间和空间复杂度。

我认为空间复杂度必须是 O(n),因为我们只有两个堆栈来存储它们之间共享的输入。

考虑到时间复杂度,我不完全确定,是不是 O(n^2) 因为必须将每个子部分从中缀转换为前缀?我不太确定这部分。

基本上我的问题是:我的空间复杂度结果是否正确,算法的时间复杂度是多少?

非常感谢!

编辑: 这是算法的伪代码:

0 投票
1 回答
569 浏览

parsing - ANTLR 表达式列表冲突

这是简单嵌套表达式的基本结构...

如果我想创建这些表达式的列表,我可以使用以下...

这里我们使用“,”作为分隔符。

我希望能够构建一个没有任何分隔符的表达式列表。

因此,如果我有字符串4 5 2+3 1 6,我希望能够将其解释为(4) (5) ^(+ 2 3) (1) (6)

问题是两者都4具有2+3相同的第一个符号(INT),所以我有冲突。我试图弄清楚如何解决这个问题。

编辑

我几乎想通了,只是在为某种条件想出正确的重写时遇到了麻烦……

这将解析1+2+3++4+5+^(+ ^(+ 1 2) 3) (+) (+) ^(+ 4 5) (+),这就是我想要的。

现在我正在尝试完成我的重写规则,以便++1+2将其解析为(+) (+) ^(+ 1 2). 总的来说,我想要一个标记列表并找到所有中缀表达式,并将其余的保留为列表。

0 投票
0 回答
1081 浏览

java - InFix to Prefix 方法类

我试图查明我的前缀计算器类中的错误,但我在这样做时遇到了麻烦。

预期的输出应该是这样的: InFix: "2+4" (例如) PostFix: "24+" PreFix: " 24" (这里是错误)

这是计算前缀的类:

如果有人对如何改进我的代码或纠正此错误有任何建议,我们将不胜感激!

提前谢谢。

0 投票
4 回答
3984 浏览

algorithm - 从中缀更改为后缀有什么好处?

我今天看书了。它介绍了从中缀到后缀的算法。有什么好处?提前致谢。

0 投票
4 回答
74785 浏览

infix-notation - 如何使用堆栈在一次扫描中评估中缀表达式?

我想知道是否有一种方法可以使用 2 个堆栈一次性解决中缀表达式?堆栈可以是一个用于运算符,另一个用于操作数......

分流码算法求解的标准方法是将中缀表达式转换为后缀(反向抛光)然后求解。我不想先将表达式转换为后缀。

如果表达式是 like 2*3-(6+5)+8,如何解决?

0 投票
2 回答
3259 浏览

javascript - JavaScript。中缀到后缀

我是 JavaScript 的初学者。

此代码应该评估后缀表达式。但它不起作用。我认为代码非常合乎逻辑,我真的不知道它有什么问题。

如果有人可以帮助我,我将不胜感激!

0 投票
2 回答
8723 浏览

c - 如何将中缀表达式转换为后缀表达式?

我正在尝试编写一个C程序来将中缀表达式转换为后缀并使用输入的值进行计算。当我输入 (2+14)*5 时,我得到 (2 14) 5 * + 但它应该是 2 14 + 5 *。所以我的问题:

  1. 我哪里做错了?
  2. 如何更改代码以删除最后一个表单(后缀)的括号?

谢谢你的帮助。

0 投票
1 回答
1753 浏览

arrays - 表达式必须有(指向)函数类型错误

我决定是时候完成我一周前开始的小中缀计算器了,但在我的评估函数中遇到了问题。我的 switch 语句似乎与我通过运算符结构处理数组的方式存在问题。我不完全确定我做错了什么。这不是我遇到的唯一错误,但我确信如果我解决了这个问题,那么其他问题应该更容易解决。显然我的代码不完整,但考虑到我到目前为止所拥有的东西,我是否走在正确的轨道上?