数据结构与算法系列 --- 栈在表达式求值中的应用
题目
利用计算机计算算数表达式,只包含加减乘除四则运算,比如:34+13*9+44- 12/3
思路:通过两个栈来实现的。其中一个保存操作数的栈,另一个是保存运算符的栈。我们从左向右遍历表达式,当遇到数字,我们就直接压入操作数栈;当遇到运算符, 就与运算符栈的栈顶元素进行比较。如果比运算符栈顶元素的优先级高,就将当前运算符压入栈;如果比运算符栈顶元素的优先 级低或者相同,从运算符栈中取栈顶运算符,从操作数栈的栈顶取 2 个操作数,然后进行 计算,再把计算完的结果压入操作数栈,继续比较。
publi.
原创
2020-05-10 16:26:17 ·
402 阅读 ·
0 评论