運算符號放在兩個運算元的後面,叫作字尾表示式,如23+是2+3。
有多個運算符號運算順序取決於運算符號的出現順序,將字尾表示式轉換成中綴表示式的方法為:從左到右遍歷字尾表示式,直到遍歷到第乙個運算符號,取該運算符號前的兩個運算元進行運算並將運算結果作為新的運算元替換掉此前的運算符號以及兩個運算元,反覆此操作直到最後一對運算元完成運算,如234*+5/表示的是(2+3*4)/5。
從左到右依次遍歷表示式,若遇到運算元,則直接輸出,若遇到運算符號,則遵循如下規則進行處理:
1.若棧當前為空,則直接將運算符號進棧。
2.若棧不為空且當前運算符號的優先順序比棧頂運算符號的優先順序高或者當前為』('時,直接將當前運算符號進棧。
3.若棧不為空且當前運算符號比棧頂運算符號的優先順序低,則將棧頂運算符號出棧輸出並繼續將其對比新棧頂運算符號的優先順序。
4.若當前運算符號比棧頂運算符號的優先順序相同,則將棧頂運算符號出棧輸出,將當前運算符號入棧。
5.若當前為『)』時,將棧中對應的『('上面的運算符號按規則出棧考慮到有多對括號,取最靠近『)』的『(』。
**於中國大學mooc-浙江大學資料結構
中綴表示式 字尾表示式
中綴表示式就是 a b 這樣的,運算子在兩個數的中間 字尾表示式就是 a b 這樣的,運算子在兩個數後面 再細分一下 中綴表示式 字尾表示式 a b c a b c a b c a b c a b c a b c a b c a b c a b c d e a c a b c d e a c emm...
中綴表示式 字尾表示式
數學表示式稱為中綴表示式,符合人的思考習慣 1 2 3運算子放在數字後面,符合計算機運算 123 遍歷中綴表示式中的數字和符號 左括號 入棧 運算符號 需要與棧頂符號進行優先順序比較 遍歷結束 將棧中所有符號彈出並輸出。例 中綴表示式 1 2 5 3 4 2 1 1 數字1直接輸出 結果 1 棧 空...
中綴表示式 字尾表示式
表示式 x a b c d e 的字尾表示形式可以為 c a xab cde b xa bc de c xabcd e d xabcde 表示式前字尾表達形式 乙個中綴式到其他式子的轉換方法 這裡我給出乙個中綴表示式 a b c d e 第一步 按照運算子的優先順序對所有的運算單位加括號 式子變成拉...