首页
学习
活动
专区
圈层
工具
发布

逆波兰式的java实现与计算

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

1.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一日一技:逆波兰式

    逆波兰表示法(Reverse Polish notation,RPN,或逆波兰记法),是一种是由波兰数学家扬·武卡谢维奇1920年引入的数学表达式方式,在逆波兰记法中,所有操作符置于操作数的后面,因此也被称为后缀表示法...逆波兰记法不需要括号来标识操作符的优先级。 逆波兰结构由弗里德里希·鲍尔(Friedrich L....逆波兰记法和相应的算法由澳大利亚哲学家、计算机学家查尔斯·汉布林(Charles Hamblin)在1960年代中期扩充。 举例 逆波兰式通过栈来实现对表达式的运算。...例如: 中缀表达式: 5+((1+2) *4)−3 逆波兰式: 512+4 *+3− 逆波兰式的意义 当有操作符时就计算,因此,表达式并不是从右至左整体计算而是每次由中心向外计算一部分,这样在复杂运算中就很少导致操作符错误...逆波兰表达式中不需要括号,用户只需按照表达式顺序求值,让堆栈自动记录中间结果;同样的,也不需要指定操作符的优先级。 逆波兰计算器中,没有“等号”键用于开始计算。

    1.2K10

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

    逆波兰表达式 逆波兰表达式(Reverse Polish Notation,RPN),又称为后缀表达式,是一种特殊的算术表达式形式。...运算符位置:与常规的中缀表达式(即运算符位于两个运算量之间)不同,逆波兰表达式的运算符位于其操作数的后面。 运算量:可以是整数、变量,也可以是另一个逆波兰表达式。...三、运算过程 入栈与出栈:逆波兰表达式的计算通常通过栈(Stack)数据结构来实现。...应用:逆波兰表达式在计算机科学中有广泛应用,如编译器设计、算术表达式求值、逻辑电路设计等。此外,日本的福岛先生最早将逆波兰表达式应用于情报检索,故又称为“福岛方法”。...最终得到逆波兰表达式“ab+cd+*”。 六、代码示例 150.

    61210
    领券