乙個中綴式到其他式子的轉換方法
這裡我給出乙個中綴表示式
a + b * c - ( d + e )
第一步:按照運算子的優先順序對所有的運算單位加括號
式子變成:( ( a + ( b * c ) ) - ( d + e ) )
第二步:轉換字首與字尾表示式
把運算符號移動到對應的括號前面
則變成:- ( + ( a * ( b c ) ) + ( d e ) )
把括號去掉:- + a * b c + d e 字首式子出現
把運算符號移動到對應的括號後面
則變成:( ( a ( b c ) * ) + ( d e ) + ) -
把括號去掉:a b c * + d e + - 字尾式子出現
+ a * b c + d e
從後往前遇到運算子,將其與後面兩個運算數結合,加上括號,當成新的運算數(例如:* b c 加上括號,變成 ( * b c )乙個整體,作為運算數)
變成:( - ( + a ( * b c ) ) ( + d e ) )
將運算子加在括號內運算數中間。變成:
( ( a + ( b * c ) ) - ( d + e ) )
去掉部分括號:a + b * c - ( d + e )
(最後去掉的是不影響表示式含義的多餘括號)
a b c * + d e + -
從前往後遇到運算子,將其與前面兩個運算數結合,加上括號,當成新的運算數
變成:( ( a ( b c * ) + ) ( d e + ) - )
將運算子加在括號內運算數中間。變成:
( ( a + ( b * c ) ) - ( d + e ) )
去掉部分括號:a + b * c - ( d + e )
(最後去掉的是不影響表示式含義的多餘括號)
(隨筆參考了csdn,原文有刪改)
中綴 字首 字尾表示式 相互轉換
1.中綴表示式 便於人看 2.字首表示式 波蘭式 運算子在前面,運算數在後面 3.字尾表示式 逆波蘭式 運算數在前面,運算子在後面 中綴 字首 優先順序先乘除再加減,入棧方向從右往左,棧外的符號想進棧,棧內的符號想出棧。棧外左括號不能進棧,棧外右括號優先順序最高。棧內右括號優先順序最低。中綴 字尾 ...
算術表示式的字首,中綴,字尾相互轉換
中綴表示式 中綴記法 中綴表示式是一種通用的算術或邏輯公式表示方法,操作符以中綴形式處於運算元的中間。中綴表示式是人們常用的算術表示方法。雖然人的大腦很容易理解與分析中綴表示式,但對計算機來說中綴表示式卻是很複雜的,因此計算表示式的值時,通常需要先將中綴表示式轉換為字首或字尾表示式,然後再進行求值。...
字首,中綴,字尾表示式轉換
title 字首,中綴,字尾表示式轉換 date 2017 09 10 19 45 09 categories technology tags 在計算機中表示式有三種,字首表示式 波蘭式 中綴表示式,字尾表示式 逆波蘭式 如表示式 a b c d e f 字首表示式 a b cd ef 中綴表示式 ...