栈在表达式求值中的应用-数据结构
前情提要:
1、中缀表达式-运算符在两个操作数中间
2、后缀表达式-运算符在两个操作数后面(逆波兰表达式)
3、前缀表达式-运算符在两个操作数前面(波兰表达式)
知识总结:
1、中缀转后缀的手算方法:
a.确定中缀表达式中各个运算符的先后顺序
b.按序选择下一个运算符,按照{左操作数 右操作数 运算符}的方式组合成一个新的操作数
c.如果还有运算符没被处理,就继续b
如下:


2、后缀表达式的手算方法:
从左往右扫描,每遇到一个运算符,就让运算符前面最近的两个操作数执行对应的运算,合体为一个操作数
注意:两个操作数的左右顺序
3、用栈实现后缀表达式的计算:
a.从左往右扫描下一个元素,直到处理完所有元素
b.若扫描到操作数则压入栈,并回到a;否则执行c
c.若扫描到运算符,则弹出两个栈顶元素,执行相应运算,运算结果压回栈顶,回到a


计算机执行中缀转后缀,参考以下博文:
(17条消息) 栈应用—中缀表达式和后缀表达式转换(原理和练习题目详解)_橘露源的博客-CSDN博客_中缀表达式转后缀表达式题目
本文来自博客园,作者:无主之地主人,转载请注明原文链接:https://www.cnblogs.com/l-yy/p/15249936.html

浙公网安备 33010602011771号