博客
关于我
中缀表达式与后缀表达式
阅读量:369 次
发布时间:2019-03-05

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

中缀表达式转换为后缀表达式的步骤详解

中缀表达式是我们日常使用最多的运算表达方式。例如,1+32这样的表达式,运算符“+”位于两个运算对象之间。然而,这种表达方式在计算机处理时存在一定的问题,因为运算顺序的确定可能会影响最终结果,且不容易找到规律。

为了解决这些问题,计算机科学家将中缀表达式转换为后缀表达式。后缀表达式的特点是将运算符置于其运算对象之后,例如123+。这种表达方式更便于计算机处理,因为它不需要处理运算顺序的问题,直接可以按照顺序进行计算。

下面,我们将详细介绍如何将中缀表达式转换为后缀表达式。


转换步骤

将中缀表达式转换为后缀表达式的过程分为三个主要步骤:

第一步:为每一个运算符添加括号

每个运算符需要用一对括号将其“包围”,确保运算顺序的明确性。例如,原表达式1+32的转换结果为1+(32)。

第二步:将运算符移动到括号外

从内向外依次移动每个运算符,将其放置到对应括号的后面。例如,在1+(32)这个表达式中,“+”运算符会被移动到括号外的位置。

第三步:去掉所有括号

最后,将所有括号去掉,得到最终的后缀表达式1 2 + 3。


后缀表达式的计算过程

将中缀表达式转换为后缀表达式后,计算过程变得更加简单。后缀表达式的计算方法如下:

  • 从左到右依次扫描表达式中的字符。
  • 如果是数字,将其直接输入到一个栈(即数栈)中。
  • 如果是运算符,则取栈顶的两个数字,执行相应的运算操作,将结果重新输入栈中。
  • 直到遇到终止符(通常是空格或特殊符号),结束计算。
  • 例如,后缀表达式123+的计算过程如下:

  • 输入1,栈变为[1]。
  • 输入2,栈变为[1,2]。
  • 输入+,取出2和1,计算1+2=3,栈变为[3]。
  • 遇到终止符,结束。最终结果为3。

  • 通过以上步骤,可以清晰地看出中缀表达式转换为后缀表达式的过程及其背后的逻辑。这种转换方法不仅简化了计算过程,还为计算机程序的实现提供了清晰的指导。

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

    你可能感兴趣的文章
    Idiot 的间谍网络
    查看>>
    初探SSRF漏洞
    查看>>
    pythonBug入门——从零开始学python
    查看>>
    js-禁止右键菜单代码、禁止复制粘贴代码
    查看>>
    SpringBoot中使用Mybatis访问MySQL数据库(使用xml方式)
    查看>>
    数组--Go语言学习笔记
    查看>>
    Redis (三)——Linux 上安装 Redis
    查看>>
    java 重写(override)和重载(overload)区别
    查看>>
    java 多态类型转换
    查看>>
    常用正则表达式
    查看>>
    XML:采用XHTML和CSS设计可重用可换肤的WEB站点
    查看>>
    Java判断字符串是否为金额
    查看>>
    软件架构-zookeeper快速入门
    查看>>
    angr学习笔记(7)(malloc地址单元符号化)
    查看>>
    树状数组 模板总结
    查看>>
    结构型设计在工作中的一些经验总结
    查看>>
    如何提升员工体验 助力企业业务增长?这个棘手的问题终于被解决了!
    查看>>
    2020 AI 产业图谱启动,勾勒中国 AI 技术与行业生态
    查看>>
    Netty4服务端入门代码示例
    查看>>
    Spring源码:prepareBeanFactory(beanFactory);方法
    查看>>