博客
关于我
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/

    你可能感兴趣的文章
    Python3.6爬虫记录
    查看>>
    搞清楚Spring Cloud架构原理的这4个点,轻松应对面试
    查看>>
    1月份2月份GitHub上最热门的23个Java开源项目
    查看>>
    maven安装
    查看>>
    2020第十五届全国大学生智能汽车竞赛——4X4矩阵键盘+Flash调参系统
    查看>>
    合并两个有序数组
    查看>>
    Ubuntu 环境下使用中文输入法
    查看>>
    小白学习Vue(?)--model选项的使用(自定义组件文本框双向绑定)
    查看>>
    聊聊我的五一小假期
    查看>>
    面向对象之异常处理:多路捕获
    查看>>
    Python简易五子棋
    查看>>
    MySQL8.0.19 JDBC下载与使用
    查看>>
    Vue新建项目——页面初始化
    查看>>
    Cent OS 7.6 服务器软件安装(这篇博客主要是为了方便我配置云主机的)
    查看>>
    MySQL使用系列文章
    查看>>
    Node.js包使用系列(一)——修改NPM全局下载和缓存路径
    查看>>
    TDengine使用(一)——TDengine下载与安装
    查看>>
    ubuntu和windows之间无法复制粘贴
    查看>>
    启动加载器BootLoader
    查看>>
    力扣239. 滑动窗口最大值
    查看>>