1. 程式人生 > 其它 >字首、中綴、字尾表示式

字首、中綴、字尾表示式

字首表示式

  1. 字首表示式又稱波蘭式,字首表示式的運算子位於運算元之前。
  2. 舉例:(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.

中綴表示式

  1. 中綴表示式就是常見得運算表示式,如(3+4)*5-6
  2. 中綴表示式求值是我們人熟悉的,但是對於計算機來說卻不好操作,因此,在計算結果時,往往會將中綴表示式轉成其他表示式來操作。

字尾表示式

  1. 字尾表示式又稱逆波蘭表示式,與字首表示式相似,只是運算子位於運算元之後。
  2. 舉例: (3+4)*5-6的字尾表示式為3 4 + 5 * 6 -