曦~~ 发表于 2021-4-9 12:47:41

数据结构

2. 写出计算表达式3+4/2*8-6时操作数栈和运算符栈的变化情况。

肖-肖 发表于 2021-4-9 17:19:52

本帖最后由 肖-肖 于 2021-4-9 21:59 编辑

定义:运算符栈S,操作数栈C
读3+,+压入栈S,3压入栈C;
读4/2*8,/和*压入栈S,4压入栈C,2压入栈C,8压入栈C;
读-,/和*运算顺序高于+-,且/和*运算等级相同所以从左往右计算,取栈C中的4和2,取栈S中的/,计算4/2=2,2*8=16-》16压入栈C,-压入栈S;
读6,压入栈C,读取完;
取栈C中的6和16,取栈S中的-,计算16-6=10,取栈C中的3,取栈S中的+,计算3+10=13
完,希望有点用吧~{:5_110:}

曦~~ 发表于 2021-4-10 09:19:26

多谢【抱拳】【抱拳】
页: [1]
查看完整版本: 数据结构