中綴表示式就是 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 * -
emmmmm,雖然沒感覺這樣能帶來什麼便利,但書上說處理複雜表示式的時候可以避免計算機崩潰,但我不可能啥時候都寫個這玩意吧,動不動就是百行**,而且用c語言的話要區分很多細節啊,什麼小數點,字元轉數字,加減乘除乘方的優先順序啊…
就是用棧嘛,感覺用棧還是盡量運算元組吧,鍊錶真的太繁瑣了。。。
a+b 為例子 :
壓入a彈出a
壓入+壓入b
彈出b尾部
彈出+得到 a b +
a+b*c 為例子 :
壓入a彈出a
壓入+壓入b
彈出b壓入 * ( * 優先順序大於 +)
壓入c彈出c
末尾彈出 *
彈出+(a+b)*c 為例子 :
壓入(壓入a
彈出a壓入+
壓入b彈出b
檢測到)
彈出+壓入 *
壓入c彈出c
尾部彈出 *
中綴表示式 字尾表示式
數學表示式稱為中綴表示式,符合人的思考習慣 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 第一步 按照運算子的優先順序對所有的運算單位加括號 式子變成拉...
中綴表示式 字首表示式 字尾表示式
中綴表示式 中綴記法 中綴表示式是一種通用的算術或邏輯公式表示方法,操作符以中綴形式處於運算元的中間。中綴表示式是人們常用的算術表示方法。雖然人的大腦很容易理解與分析中綴表示式,但對計算機來說中綴表示式卻是很複雜的,因此計算表示式的值時,通常需要先將中綴表示式轉換為字首或字尾表示式,然後再進行求值。...