栈在表达式求值中的应用-数据结构

前情提要:

1、中缀表达式-运算符在两个操作数中间

2、后缀表达式-运算符在两个操作数后面(逆波兰表达式)

3、前缀表达式-运算符在两个操作数前面(波兰表达式)

知识总结:

1、中缀转后缀的手算方法:

a.确定中缀表达式中各个运算符的先后顺序

b.按序选择下一个运算符,按照{左操作数  右操作数  运算符}的方式组合成一个新的操作数

c.如果还有运算符没被处理,就继续b

如下:

 

 

2、后缀表达式的手算方法:

从左往右扫描,每遇到一个运算符,就让运算符前面最近的两个操作数执行对应的运算,合体为一个操作数

注意:两个操作数的左右顺序

3、用栈实现后缀表达式的计算:

a.从左往右扫描下一个元素,直到处理完所有元素

b.若扫描到操作数则压入栈,并回到a;否则执行c

c.若扫描到运算符,则弹出两个栈顶元素,执行相应运算,运算结果压回栈顶,回到a

 

 

 

计算机执行中缀转后缀,参考以下博文:

(17条消息) 栈应用—中缀表达式和后缀表达式转换(原理和练习题目详解)_橘露源的博客-CSDN博客_中缀表达式转后缀表达式题目

 

posted @ 2021-09-10 09:25  无主之地主人  阅读(121)  评论(0)    收藏  举报