postfix-notation相关内容

使用堆栈从中缀表达式转换为后缀 (C++)

我的讲师给了我一个任务,让我创建一个程序来使用 Stacks 将表达式转换和中缀为后缀.我已经制作了堆栈类和一些函数来读取中缀表达式. 但是这个函数叫做 convertToPostfix(char * const inFix, char * const postFix) 负责将数组 inFix 中的 inFix 表达式转换为数组 postFix 中的后置表达式堆栈,没有做它应该做的事情.你们 ..
发布时间:2022-01-22 12:24:31 C/C++开发

后缀表达式列表求值

我编写了一个程序来从表达式列表中递归地评估 prolog 中的后缀表达式.例如,给定以下列表: [+,1,2] 它应该返回 3.我构造谓词的方式是递归地调用自身,直到它到达列表的末尾,以便它向后读取值.(与从左到右阅读此列表相同:[2,1,+]). 我的问题是,当我尝试通过递归调用返回多个值时,所有值都会突然消失. 代码如下: eval_list([Head|Tail],_,Re ..
发布时间:2022-01-12 10:20:41 其他开发

从中创建表达式树时是否有必要将中缀表示法转换为后缀?

我想以中缀形式创建一个给定表达式的表达式树.是否需要先将表达式转换为后缀,然后再创建树?我知道这在某种程度上取决于问题本身.但假设它是带有未知数和运算符的数学函数的简单表达,例如:/* ^ + -. 解决方案 没有.如果要构建表达式树,则无需先将表达式转换为后缀.在解析时构建表达式树会更简单. 我通常为表达式编写递归下降解析器.在这种情况下,每个递归调用只返回它解析的子表达式的树.如 ..

将中缀表达式转换为后缀表达式时处理括号

我正在处理一个 Java 项目,该项目要求我将中缀表达式转换为后缀表达式.我目前可以使用此方法将中缀表达式转换为后缀,只要它们不包含括号,但我不知道如何处理括号. 基本上,我有两个堆栈,其中包含称为“令牌"的对象.Token 是一个包装类,它包含一个字符串,它是一个数字、变量(它被评估为一个数字,等待用户输入)、操作符(操作符具有与之关联的优先级,以便我的方法可以确定如何处理“+"、“-"、 ..
发布时间:2021-11-25 13:57:25 Java开发

如何正确测试我的后缀表达式是否有效?

我接到了一个任务,要编写一个使用堆栈计算后缀表达式的程序. 我编写了该程序,它似乎在大部分情况下都能正常工作,但是在确定表达式是否有效时遇到了问题. 以下是我已完成的基本步骤: 要求用户输入表达式(存储为字符串) 遍历每个字符并确定该字符是操作数、运算符、空格还是无效字符 if(char == operation) 入栈 if(char == operator) 弹出两次并 ..
发布时间:2021-08-28 18:39:37 C/C++开发

中缀到后缀转换器中的堆栈问题

美好的一天!我正在使用堆栈实现后缀转换器的中缀.当用户输入不带括号的中缀表达式时它起作用;但是当存在括号时,控制台会说: 线程“main"中的异常 StackEmptyException:堆栈为空.在 ArrayStack.top(ArrayStack.java:85)在 InfixToPostfix.convert(InfixToPostfix.java:54)在 InfixToPostf ..
发布时间:2021-08-28 18:39:15 Java开发

使用堆栈了解 Java 代码中的后缀表达式求值

我得到了一段代码来破译、解释并提供任何改进建议.有人告诉我它有效,我们无法运行代码来测试它.我几乎理解它,但只需要由某人运行它以确保我对它的理解是正确的,请帮助解释我不理解的内容.我一直在做大量的研究,但仍有一些问题. 代码实现用于读取仅使用乘法和加法的后缀表达式.然后评估表达式,同时将结果保存到堆栈中.然后它打印出结果.操作数被压入堆栈,然后当它读取一个运算符时,它从堆栈中弹出顶部的 2 ..
发布时间:2021-08-28 18:38:49 Java开发

使用 java 在中缀中获取错误的输出到后缀应用程序

我最近写了一个java程序,它接受一个中缀表达式并将它转换成一个后缀表达式.它在大多数情况下都有效,但我在某些表达式中得到了错误的输出.例如,表达式 a+b+c+d+e 将在应该输出时输出 abcde+++++a b + c + d + e +. import java.util.Stack;公共类 ITP {公共静态堆栈堆;公共静态字符串 inFixExp;public static Stri ..
发布时间:2021-08-28 18:38:28 Java开发

我为什么不能创建支持中缀、后缀和前缀函数等的语言?

我一直在考虑创建一种非常适合创建 DSL 的语言,允许定义中缀、后缀、前缀甚至由多个单词组成的函数.例如,您可以如下定义中缀乘法运算符(其中已经定义了 multiply(X,Y)): a * b =>乘(a,b) 或后缀“平方"运算符: 一个平方=>一个*一个 或者一个 C 或者 Java 风格的三元运算符,它涉及两个穿插变量的关键字: a ?b:c=>如果 a==true 那么 b e ..

从中创建表达式树时是否需要将中缀表示法转换为后缀?

我想创建一个以infix形式给出表达式的表达式树。是否需要先将表达式转换为后缀,然后再创建树?我了解这在某种程度上取决于问题本身。但是,假设它是数学函数的简单表达式,具有未知数和运算符,例如:/ * ^ +-。 解决方案 否。如果您要构建表达式树,则无需先将表达式转换为后缀。只是在解析时构建表达式树会更简单。 我通常为表达式编写递归下降解析器。在这种情况下,每个递归调用仅返回其解析的 ..

后缀到后缀转换器

我一直在为后缀/ polis符号转换器处理此中缀。 虽然,我认为解决方案并不足够。 特别是j(编辑:现在称为索引)变量在困扰我。 你们有什么建议吗?还是有更好的方法来完成它?还是我太担心了? 公共静态字符串[] InfixToPostfix(string [] infixArray) { var stack = new Stack(); var postf ..
发布时间:2020-10-09 02:24:52 C#/.NET

变量后缀以前缀为后缀

我在互联网上搜索了一种很好的实现方式,可以将数字表达式而不是数字表达式从中缀符号转换为前缀和后缀。我所做的所有搜索均未成功。基本上,我想看看PHP中是否还有任何实现,因此我可以对其进行修改以不仅支持(-,*,+,=),还支持更多运算符。 例如,转换: a + b / c *( p / c) 同时保留变量名,而不必输入数字来评估它们。 解决方案 我在Miles ..
发布时间:2020-10-09 02:22:09 PHP

使用堆栈和队列的C ++计算器

我试图在课堂上理解一个有关使用堆栈和队列作为对计算器进行编程的方法的主题。我了解什么是infix和postfix表达式,但是它如何使程序更易于评估表达式以及为什么在这种情况下队列和堆栈是理想的?谢谢 解决方案 它使操作顺序更易于处理,例如: + *-4 2 5 3 可以仅表示 (((4-2)* 5)+ 3 对于我们来说,这可能更易读,但我 ..
发布时间:2020-09-28 21:54:38 C/C++开发