看板 Grad-ProbAsk 關於我們 聯絡資訊
【題目】 將中序式 A/(B-C*D)+E-F*G 轉成後序式之過程及stack內容之變化 【SOL】 1. scan【A】,print【A】 2. scan【/】,push【/】to stack 3. scan【(】,push【(】to stack 4. scan【B】,print【B】 5. scan【-】,push【-】to stack 6. scan【C】,print【C】 7. (以下省略..) 【個人錯誤的觀念】 請問..第2點..書上說..因為【/】大於【堆疊的空】,所以【/】PUSH進去.. 那請問..第三點..【(】有大於【/】嗎? 因為遊戲規則不是說.. 【(】在stack內priority最低,【(】在stack外priority最高 那請問為何第3點【(】大於【/】,導致【(】PUSH進去呢? 而第5點,因為【-】大於【(】,所以導致【-】PUSH進去, 還煩請大家幫幫我更正我這個錯誤的觀念.. 在此先謝謝大家熱心的幫忙..感謝.. -- 吉他演奏曲 http://blog.xuite.net/iloveguitar/music?st=c&re=list&p=1&w=641095 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.120.229
polomoss:"(" 在堆疊外最大的意思,就是除了資料外,都要push到堆 12/07 10:11
polomoss:疊中,然後push進去堆疊變成最小,所以後續的符號"-"也會 12/07 10:12
polomoss:push進去,直到碰到")" 12/07 10:12
fairwarning:謝謝 很詳細 ^^ 12/07 11:38