後綴表達式的優點是顯而易見的,編譯器在處理時候按照從左至右的順序讀取逆波蘭表達式,遇到運算對象直接壓入堆棧,遇到運算符就從堆棧提取後進的兩個對象進行計算,這個過程正好符合了計算機計算的原理。
後綴表達式比前綴表達式更加易於轉換,並且它的最左面一定爲數字,這一點在實際編程的時候就會體會到它的好處了。
逆波蘭表達式有一個更大的優點,就是拆括號,根據運算符的級別將中綴表達式轉換成逆波蘭表達式後,運算順序就已經替代了運算符的級別,這樣也避免了括號提高運算級別的特殊處理。
事實上,人的思維方式很容易固定~~!正如習慣拉10進制。就對2,3,4,8,16等進制不知所措一樣~~!人們習慣的運算方式是中綴表達式。而碰到前綴,後綴方式。。迷茫其實僅僅是一種表達式子的方式而已(不被你習慣的方式)我這裏教你一種也許你老師都沒跟你講的簡單轉換方式一箇中綴式到其他式子的轉換方法~~這裏我給出一箇中綴表達式~a+b*c-(d+e)
第一步:按照運算符的優先級對所有的運算單位加括號~
式子變成拉:((a+(b*c))-(d+e))
第二步:轉換中綴與後綴表達式
後綴:把運算符號移動到對應的括號後面
則變成拉:((a(bc)*)+(de)+)-
把括號去掉:abc*+de+- 後綴式子出現
發現沒有,前綴式,後綴式是不需要用括號來進行優先級的確定的。
轉自: