数据结构---栈--逆波兰算法

逆波兰:不需要括号的后缀表示法

例:9+( 3 - 1 )+10  ÷ 2

后缀表示法:“ 9 3 1 - 3 * + 10 2  /+”

程序表示的思路规则:

       从左向右遍历表达式的每个数字和符号,遇到数字就进栈,遇到符号,就将处于栈顶的两个数字出栈,进行运算,运算结果进栈,一直获得最终的结果。

1,初始化一个空栈。

2,后缀表达式中的前三个数字进栈。

 

3,接下来是“-”,将栈中的”1“出栈作为减数,“3”作为被减数,运算结果进栈。

4,接着数字“3”进栈。

5,后面是“*”,将3和2 出栈,相乘结果进栈。

6,下面是“+”,所以6和9出栈,相加得15出栈。

7,接着10和2进栈。

8,接下来就是符号“/”,10与2相除,得到5进栈。

9,最后一个符号是“+”,得20进栈。

10,结果是20 ,出栈,栈为空。

 

 

 

 

 

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值