鹹魚學資料結構和演算法 字尾表示式計算機求值

2021-10-16 12:56:35 字數 1106 閱讀 8976

目錄

一、字尾表示式計算機求值演算法介紹

二、字尾表示式計算機求值**實現

左至右掃瞄表示式,遇到數字時,將數字壓入堆疊,遇到運算子時,彈出棧頂的兩個數,用運算子對它們做相應的計算(次頂元素 和

棧頂元素),並將結果入棧;重複上述過程直到表示式最右端,最後運算得出的值即為表示式的結果

例如:(3+4)×5-6 對應的

字尾表示式就是

3 4 + 5 × 6 -,針對綴表示式求值步驟:

1)從左至右掃瞄,將3和

4壓入堆疊;

2)遇到+

運算子,因此彈出4和

3(4為棧頂元素,

3為次頂元

素),計算出

3+4的值,得

7,再將7入棧

; 3)將5入棧

; 4)接

下來是×

運算子,因此彈出5和

7,計算出

7×5=35

,將35入棧;

5)將6入棧

; 最後是

-運算子,計算出

35-6

的值,即

29,由此得出最終結

//從左向右掃瞄

public class suffixcalculator

public static void suffixcalculate(string suffixexperssion,stacknumstack) else }}

public static boolean isnum(string str)else

}public static int calculate(int num1,int num2,string opr)

return res;

}}

鹹魚學資料結構與演算法 中綴表示式轉字首表示式

目錄 一 中綴表示式轉字首表示式演算法介紹 二 中綴表示式轉字首表示式 實現 1 初始化兩個棧 運算子棧s1和儲存中間結果的棧s2 2 從右至左掃瞄中綴表示式 3 遇到運算元時,將其壓入s2 4 遇到運算子時,比較其與s1棧頂運算子的優先順序 4 1 如果s1為空,或棧頂運算子為右括號 則直接將此運...

鹹魚學資料結構和演算法 中綴表示式計算機求值

目錄 一 中綴表示式計算機求值演算法介紹 二 中綴表示式計算機求值 實現 1.通過乙個 index 值 索引 來遍歷我們的表示式 2.如果我們 發現是乙個數字,就直接入數棧 3.如果發現 掃瞄到是乙個符號,就分如下情況 3.1 如果發現當前的符號棧為 空,就直接入棧 3.2 如果符號棧有操作符,就進...

資料結構 中綴表示式轉字尾表示式

話不多說上例子 1 2 3 4 5 1 2 3 4 5 中綴表示式轉字尾表示式思路分析 1.首先需要兩個棧運算子棧 s1和儲存中間結果的棧 s2 2.從左至右掃瞄中綴表示式 2.1當前為運算元,將其壓棧至s2 2.2當前為運算子 2.2.1如果s1為空或者棧頂運算子為左括號 則將此運算子直接入s1棧...