字尾表示式

2021-08-25 08:17:03 字數 844 閱讀 5578

為了解釋字尾表示式的好處,我們先來看看,計算機如何應用字尾表示式計算出最終的結果20的。

字尾表示式:9 3 1-3*+ 10 2/+

下面是詳細的步驟:

1. 初始化乙個空棧。此桟用來對要運算的數字進出使用。

2. 字尾表示式中前三個都是數字,所以9、3、1進棧。

3. 接下來是減號「-」,所以將棧中的1出棧作為減數,3出棧作為被減數,並運算3-1得到2,再將2進棧。

4. 接著是數字3進棧。

5. 後面是乘法「*」,也就意味著棧中3和2出棧,2與3相乘,得到6,並將6進棧。

6. 下面是加法「+」,所以找中6和9出找,9與6相加,得到15,將15進棧。

7. 接著是10與2兩數字進棧。

8. 接下來是符號因此,棧頂的2與10出棧,10與2相除,得到5,將5進棧。

9. 最後乙個是符號「+」,所以15與5出找並相加,得到20,將20進棧。

10. 結果是20出棧,棧變為空。

字尾表示式 中綴到字尾表示式

輸入空格跳出迴圈 while k getchar n 字尾表示式 此 僅限於0 9內的加減乘除 include include include define long 10 using namespace std typedef struct stack qstack void init qstac...

字尾表示式

字尾表示式的計算和中綴表示式轉字尾表示式 此處的運算用的是鍊錶的表示方法 以下為三個會涉及到的標頭檔案 error.h 字尾表示式 created by kyle.yang on 14 12 2.ifndef error h define error h include using namespac...

字尾表示式

對於乙個算術表示式我們的一般寫法是這樣的 3 4 5 6 這中寫法是中序表示式 而後序表示式則是將運算子放在運算元的後面,如 3 4 5 6 可以看出後序表示式中沒有括號,只表達了計算的順序,而這個順序恰好就是計算器中的一般計算順序。建立乙個棧s 從左到右讀表示式,如果讀到運算元就將它壓入棧s中,如...