问题标签 [postfix-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.
c++ - 在 C++ 中使用堆栈来评估后缀表达式
好的,我已经用后缀表示法,我正在发送一个字符串变量,该变量将具有后缀表示法,例如:5 15 2 *+ 这是我的代码:
}
我得到的错误是“Deque iterator not deferencable”
非常感谢我能在此错误上获得的任何帮助。顺便说一句,我已经有几年没用过 C++了,所以我有点生疏了。
java - 使用递归评估后缀表达式
我需要一种使用递归评估后缀表达式的算法。在这个后缀表达式中,操作数可以多于一位。空格用于区分两个操作数。所以表达式 '45 68 +' 是有效的。
我想过反向评估它,但我认为这不应该是正确的。
有人可以帮我解决算法。
提前致谢。
regex - 正则表达式拆分贪婪但保留拆分令牌?
我有一个像这样的字符串:
我想要做的是使用正则表达式拆分该字符串,以获得类似:
我目前正在使用拆分字符串,(?<=\>)|(?<=\<\=)|(?<=\>\=)|(?<=\=)|(?<=\<)|(?<=!\=)
但它没有产生所需的结果,如您所见:
我需要在正则表达式中进行哪些更改才能获得我正在寻找的结果?
c - C中的后缀评估
我正在学习 C 语言课程,我们必须为经典的 Postfix 评估问题编写一个程序。现在,我已经在 java 中完成了这个问题,所以我知道我们必须使用堆栈将数字压入,然后当我们得到一个运算符时弹出它们,我想我对所有这些都很好。我遇到的问题是扫描 C 中的后缀表达式。在 java 中它更容易,因为您可以使用 charAt 并且可以使用 parseInt 命令。但是,我不知道 C 中有任何类似的命令。所以任何人都可以解释一种从字符串中读取每个值的方法,格式如下:
4 9 * 0 - =
其中equals是输入端的信号。
任何帮助将不胜感激,并在此先感谢您:)
c - 使用堆栈和 C 进行后缀评估
我在这里待了一段时间,遇到了类似的问题,但我认为问题是错误的。为了提供一些背景知识,我的任务是创建一个 C 程序来解决表单中的后缀表达式
8 7 - 9 * =
我认为我的问题是,我的教授给出了一些不正确的堆栈代码。我这样说是因为我经常收到堆栈溢出(lol)错误,而且我的堆栈还远未满。如果有帮助,我正在使用 Visual Studio 2005。这是我的代码:
现在我意识到我的代码现在有点野蛮,为此我深表歉意。话虽如此,任何帮助或意见都将不胜感激,并提前感谢大家。
好的,所以在考虑了所有因素之后,我想我已经接近了。一切都正确进入堆栈,一切都被正确读取。但是,我的新实现包括将所有内容都设为字符,然后在需要使用整数时对其进行转换。这是我的源代码:
请记住,我一直在玩弄它,所以有随机的 printfs 和无用的变量都用于调试目的。每当我运行它时(例如输入 3 5 + =),我得到:
所以再次,请原谅我的一些乱七八糟的代码,因为我对 C 很陌生,但任何帮助都会很棒!
c++ - 二元运算示例程序
问题陈述:编写一个 C++ 程序来计算后缀表达式。您的程序应该将后缀表达式作为输入,在堆栈的帮助下对其进行处理,并在执行所需的计算后显示结果。
此程序只允许使用以下二元运算符:+、-、*、/、^ [加、减、乘、除、幂]
如果在处理后缀表达式时发生错误,您的程序应该显示一条有意义的消息,例如: 错误:不允许除以零 错误:__ 运算符需要两个操作数 错误:后缀表达式无效
帮帮我,我的程序正在生成错误这是我的尝试:
c++ - 后缀表达式求值
我正在尝试实现后缀表达式评估,这是我的代码:
但我得到一个编译错误(我在linux(ubuntu 11.10)中实现它):
我该如何解决?
algorithm - 无法理解如何处理调车场算法的输出
我一直在看维基页面:http ://en.wikipedia.org/wiki/Shunting-yard_algorithm
我已经使用代码示例构建了第一部分,基本上我现在可以打开:
3 + 4 * 2 / ( 1 - 5 ) ^ 2 ^ 3
进入3 4 2 * 1 5 − 2 3 ^ ^ / +
但我不知道如何使用3 4 2 * 1 5 − 2 3 ^ ^ / +
来获取3.00012207
wiki上的示例代码和解释对我来说没有任何意义。
有人可以解释如何评估3 4 2 * 1 5 − 2 3 ^ ^ / +
和产生答案。提前致谢。我不需要一个代码示例,只需要一个很好的解释或一个示例的分解。
没关系,但我正在使用.net C#。
algorithm - 如何将后缀表达式放入二叉树?
所以我有一个二叉树和一个后缀表达式“6 2 * 3 /”将它放在树中的算法是什么?像,
c - 如何使用while循环扫描数字和运算符系列?
我有一个标准输入,如“ 33 44 55 + 66 * + = ”,(即逆波兰表示法,RPN),我使用如下代码来解析它。但是 scanf("%d") 读取 '+' 并丢弃它,如何对运算符进行 ungetc 并使其被 scanf(" %c ") 读取?解决问题的最佳方法是什么。谢谢。