中文沒戲了?《腦航員2》開發商無力承擔更多本地化成本
阿新 • • 發佈:2021-08-30
轉自:https://blog.csdn.net/iteye_4185/article/details/82574934
1.假定有中綴表示式1 + (( 2 + 3)* 4 ) – 5,請將它轉化為字尾表示式。
方法一:利用表示式樹
方法二:利用輔助棧
從左到右遍歷中綴表示式的每個運算元和操作符。
當讀到運算元時,立即把它輸出,即成為字尾表示式的一部分;
若讀到操作符,判斷該符號與棧頂符號的優先順序,若該符號優先順序高於棧頂元素,則將該操作符入棧,否則就一次把棧中運算子彈出並加到字尾表示式尾端,直到遇到優先順序低於該操作符的棧元素,然後把該操作符壓入棧中。
如果遇到”(”,直接壓入棧中,如果遇到一個”)”,那麼就將棧元素彈出並加到字尾表示式尾端,但左右括號並不輸出。最後,如果讀到中綴表示式的尾端,將棧元素依次完全彈出並加到字尾表示式尾端。
上述連結中給出了圖解。