首页 > 代码库 > 数据结构栈之计算后缀表达式

数据结构栈之计算后缀表达式

对于一个给定的后缀表达式,(假设它是合法的)

注意:次算法是基于基本操作符是2元操作符且操作数为一位正整数!

其求值的基本思想是:对于给定的表达式进行遍历,如果遇到的是操作数就将其压入栈;如果遇到的是操作符,将栈顶的两个元素弹出,假设栈顶两个元素依次为a,b(a在上b在下),将次操作符应用于这两个栈顶元素,比如b-a(注意b在左a在右)然后将计算结果压入栈(用来充当下一个操作符的操作数);

 最后输出栈顶元素即为结果(其实如果表达式合法最终栈里面一定会只有一个元素)

 

<script src="https://code.csdn.net/snippets/413412.js" type="text/javascript"></script>