※ 引述《SingForYou (雪舞的季節)》之銘言:
: ※ 引述《tmd39 (good luck)》之銘言:
: : 我搞不懂中置運算式如何變成後置運算式 有人知嗎 可以教教我嗎
: : 題目是
: : a+b/(c-d)*e-f
: : 我真的不懂用堆疊的方法
: : 有人可以再更詳細的解釋一下嗎 謝謝
: 簡單的例子是
: 中置: a+b
: 後置: ab+
遇到 運算元 operant 直接輸出
operator 放入 stack
每次放入都把之前 priority 較高或相同的 pop 出來 再放入
遇到 ')' pop 到 '('
最後結束 全部 pop
a+b/(c-d)*e-f
output: abcd
stack: +/(- ) 此時pop
output: abcd-
stack: +/ * 此時pop
output: abcd-/e
stack: +* -
abcd-/e*+f
-
abcd-/e*+f-
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.215.56