码迷,mamicode.com
首页 > 其他好文 > 详细

栈的应用:中缀表达式转为后缀表达式

时间:2015-03-28 17:12:57      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

1.中缀表达式转为后缀表达式

规则:(栈实现)

1)如果遇到操作数,我们就直接将其输出。

2)如果遇到操作符,则我们将其放入到栈中,遇到左括号时我们也将其放入栈中。

3)如果遇到一个右括号,则将栈元素弹出,将弹出的操作符输出直到遇到左括号为止。注意,左括号只弹出并不输出。

4)如果遇到任何其他的操作符,如(“+”, “*”,“(”)等,从栈中弹出元素直到遇到发现更低优先级的元素(或者栈为空)为止。弹出完这些元素后,才将遇到的操作符压入到栈中。有一点需要注意,只有在遇到" ) "的情况下我们才弹出" ( ",其他情况我们都不会弹出" ( "。

5)如果我们读到了输入的末尾,则将栈中所有元素依次弹出。

2.后缀表达式的求值

  (1)建立一个栈S;
   (2)从左到右读后缀表达式,读到数字就将它转换为数值压入栈S中,读到运算符则从栈中依次弹出两个数分别到Y和X,然后以“X 运算符 Y”的形式计算机出结果,再压加栈S中;
   (3)如果后缀表达式未读完,就重复上面过程,最后输出栈顶的数值则为结束。

栈的应用:中缀表达式转为后缀表达式

标签:

原文地址:http://www.cnblogs.com/ddzj/p/4374430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!