字首、中綴、字尾表示式
阿新 • • 發佈:2021-11-10
字首表示式
- 字首表示式又稱波蘭式,字首表示式的運算子位於運算元之前。
- 舉例:(3+4)*5-6的字首表示式為
- * + 3 4 5 6
字首表示式計算機求值
從右至左掃描表示式,遇到數字時,將數字壓入堆疊,遇到運算子時,彈出棧頂的兩個數,用運算子對他們做相應的計算(棧頂元素和次頂元素),並將結果入棧;重複上述過程直到表示式最左端,最後運算得出的值即為表示式的結果。
舉例:
求字首表示式:- * + 3 4 5 6的值: 1. 從右至左掃描,將6、5、4、3壓入堆疊; 2. 遇到 + 運算子,因此彈出3和4(3為棧頂元素,4為次頂元素),計算 3+4 的值,得7,再將7入棧; 3. 接下來是 * 運算子,因此彈出7和5,計算 7*5=35 ,將35入棧。 4. 最後是 - 運算子,計算 35-6 的值,即29,得最終結果29.
中綴表示式
- 中綴表示式就是常見得運算表示式,如
(3+4)*5-6
。 - 中綴表示式求值是我們人熟悉的,但是對於計算機來說卻不好操作,因此,在計算結果時,往往會將中綴表示式轉成其他表示式來操作。
字尾表示式
- 字尾表示式又稱逆波蘭表示式,與字首表示式相似,只是運算子位於運算元之後。
- 舉例: (3+4)*5-6的字尾表示式為
3 4 + 5 * 6 -