將中綴表達式轉(zhuǎn)換為后綴表達式

中綴表達式(infix):

數(shù)學(xué)里面的公式就是中綴表達式刻蟹,是我們生活中里面常用的表達式大州,比如說 a*(b+c)部念, 中綴表達式可以用括號來調(diào)整優(yōu)先級邀窃。

后綴表達式(postfix):

運算符放在兩個運算對象的后面,所有的計算按運算符出現(xiàn)的順序锦积,嚴格從左向右進行(不用考慮運算符的優(yōu)先級)芒帕,如 a*(b+c),轉(zhuǎn)化為后綴表達式 即a b + 3 *丰介。

轉(zhuǎn)換規(guī)則:

從頭到尾讀取中綴表達式中的每個對象背蟆, 對不同對象按不同情況處理。

  1. 運算數(shù): 直接輸出哮幢;
  2. 左括號: 壓入堆棧带膀;
  3. 右括號: 將棧頂?shù)倪\算符彈出并輸出, 直到遇到左括號橙垢, ( 出棧不輸出垛叨;
  4. 運算符:
    • 優(yōu)先級大于棧頂運算符時, 則把它壓入棧柜某;
    • 優(yōu)先級小于等于棧頂運算符時嗽元,將棧頂運算符彈出并輸出; 再比較新的棧頂運算符喂击, 直到該運算符大于棧頂運算符優(yōu)先級為止剂癌,然后將該運算符壓入棧;
  5. 若將個對象處理完畢翰绊, 則把堆棧中存留的運算符一并輸出佩谷;

例如將中綴表達式2 * (9 + 6 / 3 - 5) + 4 轉(zhuǎn)化為后綴表達式2 9 6 3 / + 5 - * 4 + 轉(zhuǎn)換步驟如下:

  • 遇到數(shù)字 2, 直接輸出

表達式:2
符號棧:

  • 遇到符號 * 监嗜,棧頂沒有符號琳要,直接入棧

表達式: 2
符號棧: *

  • 遇到符號 (, 壓入棧

表達式:2
符號棧:* (

  • 遇到數(shù)字 9秤茅, 直接輸出

表達式:2 9
符號棧:* (

  • 遇到符號 + 稚补,( ) 里面的 +, 比外面的 * 優(yōu)先級高框喳, 壓入棧

表達式:2 9
符號棧:* ( +

  • 遇到數(shù)字 6 , 直接輸出

表達式:2 9 6
符號棧:* ( +

  • 遇到符號 \ 课幕,優(yōu)先級大于 +,壓入棧

表達式:2 9 6
符號棧:* ( + \

  • 遇到數(shù)字 3五垮, 直接輸出

表達式:2 9 6 3
符號棧:* ( + \

  • 遇到符號 -乍惊, 優(yōu)先級小于 \ , \ 彈出棧

表達式:2 9 6 3
符號棧:* ( +

  • 繼續(xù)比較放仗, + 優(yōu)先級等于 -润绎,+彈出棧

表達式:2 9 6 3 \ +
符號棧:* (

  • 繼續(xù)比較, - 優(yōu)先級大于 (, 壓入棧

表達式:2 9 6 3 \ +
符號棧:* ( -

  • 遇到數(shù)字 5, 直接輸出

表達式:2 9 6 3 \ + 5
符號棧:* ( -

  • 遇到符號 )莉撇,將 (( 之前的的符號彈出棧

表達式:2 9 6 3 \ + 5 -
符號棧:*

  • 遇到符號 +呢蛤, 小于 *, * 彈出棧

表達式:2 9 6 3 \ + 5 - *
符號棧:

  • 再比較,棧頂沒有符號棍郎,直接壓入棧

表達式:2 9 6 3 \ + 5 - *
符號棧:+

  • 遇到數(shù)字 4 直接輸出

表達式:2 9 6 3 \ + 5 - * 4
符號棧:+

  • 處理完畢其障, 一并輸出

表達式:2 9 6 3 \ + 5 - * 4 +
符號棧:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市涂佃,隨后出現(xiàn)的幾起案子励翼,更是在濱河造成了極大的恐慌,老刑警劉巖辜荠,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汽抚,死亡現(xiàn)場離奇詭異,居然都是意外死亡伯病,警方通過查閱死者的電腦和手機殊橙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狱从,“玉大人膨蛮,你說我怎么就攤上這事〖狙校” “怎么了敞葛?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長与涡。 經(jīng)常有香客問我惹谐,道長,這世上最難降的妖魔是什么驼卖? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任氨肌,我火速辦了婚禮,結(jié)果婚禮上酌畜,老公的妹妹穿的比我還像新娘勺择。我一直安慰自己螟够,他們只是感情好蔓彩,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布榄审。 她就那樣靜靜地躺著,像睡著了一般贩虾。 火紅的嫁衣襯著肌膚如雪催烘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天缎罢,我揣著相機與錄音伊群,去河邊找鬼考杉。 笑死,一個胖子當(dāng)著我的面吹牛舰始,可吹牛的內(nèi)容都是我干的崇棠。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼蔽午,長吁一口氣:“原來是場噩夢啊……” “哼易茬!你這毒婦竟也來了酬蹋?” 一聲冷哼從身側(cè)響起及老,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎范抓,沒想到半個月后骄恶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡匕垫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年僧鲁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片象泵。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡寞秃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出偶惠,到底是詐尸還是另有隱情春寿,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布忽孽,位于F島的核電站绑改,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏兄一。R本人自食惡果不足惜厘线,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望出革。 院中可真熱鬧造壮,春花似錦、人聲如沸骂束。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽栖雾。三九已至楞抡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間析藕,已是汗流浹背召廷。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人竞慢。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓先紫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親筹煮。 傳聞我的和親對象是個殘疾皇子遮精,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容