博客
关于我
Java求逆波兰表达式的结果(栈)
阅读量:363 次
发布时间:2019-03-05

本文共 455 字,大约阅读时间需要 1 分钟。

逆波兰表达式,又称后缀表达式,是一种运算符排列方式,运算符总是置于其操作数之后。这种表达式简化了中缀表达式中的括号和运算顺序问题,使得计算机更容易处理。

逆波兰表达式的求值方法是使用栈来模拟运算过程。具体步骤如下:

  • 创建栈:用于存储操作数。
  • 遍历表达式:从左到右处理每个元素。
  • 处理操作数:如果遇到操作数,将其压入栈。
  • 处理运算符:如果遇到运算符,弹出栈顶的两个操作数,执行运算,结果压入栈。
  • 结束后结果:栈中剩余的元素即为计算结果。
  • 以中缀表达式“3*(17-15)+18/6”为例,其逆波兰表达式为“3 17 15 - * 18 6 / +”。计算过程如下:

    • 31715压入栈。
    • 遇到“-”,弹出15和17,计算17-15=2,压入栈。
    • 栈中有3和2,遇到“”,计算32=6,压入栈。
    • 186压入栈。
    • 遇到“/”,弹出6和18,计算18/6=3,压入栈。
    • 遇到“+”,弹出3和6,计算6+3=9。

    最终结果为9。逆波兰表达式通过明确的运算顺序和栈操作,简化了中缀表达式的复杂性,广泛应用于计算机科学。

    转载地址:http://mkhg.baihongyu.com/

    你可能感兴趣的文章
    vue自定义封装Loading组件
    查看>>
    解决移动端项目中苹果ios和安卓android手机点击输入框网页页面自动放大缩小
    查看>>
    Element UI 中动态路由的分析及实现
    查看>>
    使用springMVC配置视图管理器后找不到指定的页面
    查看>>
    关于js中对于Promise的深入理解
    查看>>
    杭电 2007 平方和与立方和(输入数据的大小顺序并不能默认)
    查看>>
    十大排序算法之三:插入排序(Python)
    查看>>
    利用Python实现循环队列
    查看>>
    利用递归实现二叉树的前中后序遍历(Python)
    查看>>
    Python刷题输入输出
    查看>>
    冒泡排序又来啦(C/C++版本)
    查看>>
    python负数存储
    查看>>
    求二维数组中最大值的位置
    查看>>
    python中sort和sorted的区别
    查看>>
    vue中echart数据动态切换,一看就懂
    查看>>
    Python3.6爬虫记录
    查看>>
    搞清楚Spring Cloud架构原理的这4个点,轻松应对面试
    查看>>
    1月份2月份GitHub上最热门的23个Java开源项目
    查看>>
    maven安装
    查看>>
    2020第十五届全国大学生智能汽车竞赛——4X4矩阵键盘+Flash调参系统
    查看>>