栈的应用之表达式求值(前缀、中缀、后缀)
继续遍历,出现“/”,与此时栈顶元素“*”优先级相等,出栈顶元素*,并且进行运算3*6=18而不是6*3=18,入栈OPND,然后“/”入栈OPTR。继续遍历,2入栈,-比/优先级低,所以/出栈,OPND也要出栈2个元素,计算18/2=9,入栈,-也入栈;得到9后,继续遍历,5入栈,无元素再遍历,所以9-5=4,-出栈,而OPND只剩一个4,得到结果。遇到+运算符,因此弹出3和4(3为栈顶元素,4为次顶元素),计算出3+4的值,得7,再将7入栈;次栈顶元素加减乘除栈顶元素!次栈顶元素加减乘除栈顶元素!
原创
2024-09-15 19:34:19 ·
698 阅读 ·
0 评论