国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C語(yǔ)言經(jīng)典算法之中序式轉(zhuǎn)后序式

2019-04-03 15:49 作者:C語(yǔ)言基礎(chǔ)  | 我要投稿

中序式轉(zhuǎn)后序式

新手上路,多多關(guān)注,這真的對(duì)我很重要

說(shuō)明平常所使用的運(yùn)算式,主要是將運(yùn)算元放在運(yùn)算子的兩旁,例如a+b/d這樣的式子,這稱(chēng) 之為中序(Infix)表示式,對(duì)于人類(lèi)來(lái)說(shuō),這樣的式子很容易理 解,但由于電腦執(zhí)行指令時(shí)是 有順序的,遇到中序表示式時(shí),無(wú)法直接進(jìn)行運(yùn)算,而必須進(jìn)一步判斷運(yùn)算的先后順序,所以 必須將中序表示式轉(zhuǎn)換為另一種表示方 法。

可以將中序表示式轉(zhuǎn)換為后序(Postfix)表示式,后序表示式又稱(chēng)之為逆向波蘭表示式(Reverse polishnotation),它是由波蘭的數(shù)學(xué)家盧卡謝維奇提出,例如(a+b)*(c+d)這個(gè)式子,表示為后序 表示式時(shí)是ab+cd+*。

解析

用手算的方式來(lái)計(jì)算后序式相當(dāng)?shù)暮?jiǎn)單,將運(yùn)算子兩旁的運(yùn)算元依先后順序全括號(hào)起來(lái),然后將所有的右括號(hào)取代為左邊最接近的運(yùn)算子(從最內(nèi)層括號(hào)開(kāi)始),最后去掉所有的左括號(hào) 就可以完成后序表示式,例如: a+b*d+c/d => ((a+(b*d))+(c/d)) -> abd*+cd/+,如果要用程式來(lái)進(jìn)行中序轉(zhuǎn)后序,則必須使用堆疊,演算法很簡(jiǎn)單,直接敘述的話就是使用回 圈,取出中序式的字元,遇運(yùn)算元直接輸出,堆疊運(yùn)算子與左括號(hào), ISP>ICP的話直接輸出堆 疊中的運(yùn)算子,遇右括號(hào)輸出堆疊中的運(yùn)算子至左括號(hào)。

新手上路,多多關(guān)注,這真的對(duì)我很重要


如果要將中序式轉(zhuǎn)為前序式,則在讀取中序式時(shí)是由后往前讀取,而左右括號(hào)的處理方式相反, 其余不變,但輸出之前必須先置入堆疊,待轉(zhuǎn)換完成后再將堆疊中的 值由上往下讀出,如此就 是前序表示式。

代碼實(shí)現(xiàn)

新手上路,多多關(guān)注,這真的對(duì)我很重要?

測(cè)試代碼

新手上路,多多關(guān)注,這真的對(duì)我很重要?


C語(yǔ)言經(jīng)典算法之中序式轉(zhuǎn)后序式的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
大厂| 井冈山市| 神农架林区| 临澧县| 景泰县| 南部县| 天峻县| 汽车| 广昌县| 扶余县| 黄龙县| 双鸭山市| 达州市| 珠海市| 武穴市| 万荣县| 新河县| 板桥市| 吴旗县| 大洼县| 宜兰市| 龙游县| 玉山县| 临桂县| 青冈县| 常宁市| 寿阳县| 岳池县| 精河县| 项城市| 延庆县| 南召县| 长海县| 通海县| 宁安市| 汕尾市| 陈巴尔虎旗| 武冈市| 嘉禾县| 疏附县| 林口县|