中綴表示式轉字首表示式

2021-07-26 11:39:32 字數 363 閱讀 5119

在字首表示式中,運算子直接放在運算元的前面。例如:a+b  +ab。a-b*c -a*bc。a+(c-h)/(b*d)   +a/-ch*bd。其實就是表示式樹的先序遍歷。

字首表示式得到字尾表示式過程:有運算元跟運算子棧。中綴表示式中沒遇到乙個運算元,入運算元棧,運算子棧跟字首得到字尾表示式一樣。

假設剛從運算子棧中彈出乙個元素,然後從運算元棧彈出兩個元素,opnd1跟opnd2.(opnd1先彈出)連線opt,opnd2,opnd1.將結果如運算元棧。一直到遍歷完中綴表示式。然後持續下面過程:

從運算子棧中彈出乙個元素。

從運算元棧中彈出兩個元素(連線順序跟上面一樣)。

一直到運算子棧為空。此時運算元棧中的唯一乙個表示式即為所求。

中綴表示式轉字首表示式

1 求輸入串的逆序。2 檢查輸入的下一元素。3 假如是運算元,把它新增到輸出串中。4 假如是閉括號,將它壓棧。5 假如是運算子,則 i 假如棧空,此運算子入棧。ii 假如棧頂是閉括號,此運算子入棧。iii 假如它的優先順序高於或等於棧頂運算子,此運算子入棧。iv 否則,棧頂運算子出棧並新增到輸出串中...

字首轉中綴(表示式)

問題描述 字首轉中綴示例,允許有多餘括號 4 2 3 6 4 2 3 6 3 4 2 5 3 4 2 5 3 4 2 5 3 4 2 5 思路1 遞迴 1.從左向右掃瞄 2.遇到操作符,則遞迴求解,返回新字串,遇到數字,則直接返回數字串,例如 case return exp exp 注意加括號,保證...

中綴表示式轉字首和字尾表示式

之前筆試中國電信it研發中心的時候,遇到了幾個前 中 字尾表示式的相互轉換,當時忘得差不多了,今天好好把該方面的知識好好複習,並把相關 和思路自己縷了一遍 將中綴表示式轉換為字首表示式 遵循以下步驟 1 初始化兩個棧 運算子棧s1和儲存中間結果的棧s2 2 從右至左掃瞄中綴表示式 3 遇到運算元時,...