栈的应用---逆波兰表达式

 学习了栈后,那么栈有什么用呢?下面就举一个经典的例题---逆波兰表达式的求解。

 首先呢,什么是逆波兰表达式呢?

 逆波兰表达式呢,就是先是操作数,后操作符。

栈的应用---逆波兰表达式

所有的表达式都可以写成逆波兰表示式的形式。


假如现有一逆波兰表达式,那么如何求它的解呢?我们的栈就要派上用场喽!


栈的应用---逆波兰表达式

思路:

    如果遇到操作数,就将其放入栈中,如果遇到操作符,则取出两个操作数进行运算。将其结果压入栈中。直到遇到最后一个操作符运算后压入栈中,出栈即为表达式的结果。


  逆波兰表达式有两种类型:操作数,操作符。

  可将逆波兰表达式看成一个Cell结构体的数组。

栈的应用---逆波兰表达式


运算实现:

栈的应用---逆波兰表达式

栈的应用---逆波兰表达式


测试:

栈的应用---逆波兰表达式