逆波兰/后缀表达式计算,栈的基础应用

本文详细介绍了如何将中缀表达式转换为后缀表达式,并通过后缀表达式进行计算。首先,扫描中缀表达式,遇到数字直接输出,遇到符号则根据优先级规则进栈或出栈。遇到括号,遵循‘(’进栈,‘)’出栈直到匹配的原则。最后,扫描完成后栈内元素依次出栈得到后缀表达式。然后,从左至右扫描后缀表达式,每次遇到运算符就弹出栈中两个数字进行运算,结果再入栈,直至表达式结束,栈中最后一个数字即为答案。
摘要由CSDN通过智能技术生成

后缀表达式计算


中缀表达式转后缀表达式
  • 将式子从前往后扫描
    • 遇到输入直接输出
    • 遇到符号进栈
      • 如果栈中元素大于等于该符号的优先级则以出栈,知道小于该符号优先级
    • 遇到“(”直接进栈,遇到“)”出栈知道匹配到“(”
  • 式子扫描完成后将栈中元素全部出栈
    在这里插入图片描述
计算
  • 从左往右扫描后缀表达式
    • 遇到数字,进栈
    • 遇到符号,连续弹出两个数字,进行对应符号的运算,将结果进栈
  • 知道后缀表达式扫描完成,栈中只剩一个数字,该数字就是答案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值