【软考】后缀式
后缀式又称逆波兰式,其实他就是一种表达方式。后缀式把运算符写在运算对象的后面,好处是不用借助括号,根据运算对象和运算符出现的顺序运算就好了。
举个例子:
x-(y+c)*8的后缀式 怎么算
①这个式子先算 y+c 所以 换成后缀式 yc+
②然后这个结果 *8 换成后缀式就是 ①的结果 加上 8*
③(y+c)*8的后缀式 就是 yc+8*
④x- ③的结果 ,后缀式就是 x加上③的结果加上- ,即xyc+8*-
后缀式是用栈来存储的,为什么呢
看这张图
①栈中先放了 y 和 c ,然后 + 号来了, y 和 c 从栈中出来, 进行运算c+y
②然后把结果再放回栈中
③ 8 也放入栈中
④ 这时候*号来了
⑤ 8 和 c+y 的结果 被拿出来 运算 (c+y)* 8 ,然后把 结果放回到栈中
⑥x也放入栈中
⑦ - 号来了
⑧(c+y)* 8的结果和x 被拿出来 运算 x-(c+y)* 8
这就是这个运算的过程,并不难,画个图看看就好了