首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    逆波兰式的java实现与计算

    逆波兰式(Reverse Polish notation,RPN,或逆波兰记法),也叫后缀表达式(将运算符写在操作数之后)。...c)((a+b)/e)- →((a+b)c*)((a+b)e/)- →(ab+c*)(ab+e/)- →ab+c*ab+e/- 算法实现 将一个普通的中序表达式转换为逆波兰表达式的一般算法是...: 首先需要分配2个栈,一个作为临时存储运算符的栈S1(含一个结束符号),一个作为输入逆波兰式的栈S2(空栈),S1栈可先放入优先级最低的运算符#,注意,中缀式应以此最低优先级的运算符结束。...完成以上步骤,S2栈便为逆波兰式输出结果。不过S2应做一下逆序处理。便可以按照逆波兰式的计算方法计算了!...代码实现 import java.util.*; /** * 逆波兰式生成 */ public class RPN { public static void main(String[] args

    1.9K30

    波兰表达式 与 逆波兰表达式

    逆波兰表达式 逆波兰表达式(Reverse Polish Notation,RPN),又称为后缀表达式,是一种特殊的算术表达式形式。...运算符位置:与常规的中缀表达式(即运算符位于两个运算量之间)不同,逆波兰表达式的运算符位于其操作数的后面。 运算量:可以是整数、变量,也可以是另一个逆波兰表达式。...具体转换过程如下: 扫描到“(a+b)”,将其转换为逆波兰形式“ab+”并压入栈中(但在此例中,我们直接给出转换结果,实际转换过程可能涉及更复杂的算法)。...扫描到“*(c+d)”,先将“c+d”转换为逆波兰形式“cd+”,然后与栈顶的“ab+”进行乘法运算(即弹出“ab+”和“cd+”,计算“(ab+)(cd+)”并压入结果)。...三、计算与转换 计算:在计算波兰表达式时,通常从右到左遍历表达式,根据运算符和操作数的位置进行计算。 转换:中缀表达式可以转换为波兰表达式。转换过程通常涉及使用栈来处理运算符的优先级。

    65710
    领券