堆栈的例子——来解决计算机的表达式计算

来源:互联网 发布:flyme系统依赖网络 编辑:程序博客网 时间:2024/06/17 12:32

计算机一般利用后缀表达式来计算多项式:比如对于中缀表达式a+b*c-d/e

其后缀表达式为a b c * + d e / -

策略是:遇到运算数:存储起来

遇到运算符号:将最近存储的两个数进行运算,然后再把运算结果存储回去。

这显然就是后进先出的堆栈模型。

利用堆栈,具体例子:6 2 / 3 - 4 2 * +

遇到6 存储

遇到2 存储

遇到除号,将前边两位取出,进行前边除以后边的运算,得到的结果(3)再放回到堆栈中。

遇到3,放到堆栈中

遇到减号,取出前边的两位,进行减法运算,得到的结果0进行入栈。

遇到4  入栈。

遇到2,入栈

遇到乘号,将最近入栈的两个数取出做操作,得到8.入栈。

遇到加号,将最近在栈里的两个数进行出栈,操作得到最终的结果。

0 0
原创粉丝点击