編寫乙個程式將字尾表示式轉換成中綴表示式

2021-07-10 20:56:18 字數 577 閱讀 9150

資料結構與演算法分析——c語言描述 練習3.20 c 答案

很慚愧的說,這道題我寫了好久,斷斷續續寫了乙個星期。。。。智商捉急。。。

思路是這樣的,字尾表示式不用管計算順序,但是有一點是在必要的時候新增括號,我是建了乙個結構,包含乙個表示式和這個表示式最外層的運算子。結合的時候注意比較優先順序進而新增括號。

#include#include#includeusing namespace std;

struct oneexpr ;

int operatorpriority(char c)

int operatorcmp(char c1, char c2)

stackinfixexpr;

int main()

else if (c == ' ')

}else

o.expr = num1.expr + c + num2.expr;//連線起來

o.oper = c;

infixexpr.push(o);

} }cout << infixexpr.top().expr;

}

將中綴表示式轉換成字尾表示式

我們人腦很容易理解中綴表示式,但是中綴表示式在計算機並不好計算,所有我們要將中綴表示式轉換成字尾表示式,因為字尾表示式是很容易計算的。為什麼要寫乙個這樣的程式呢?原因是我一開始想寫乙個計算機,它能夠將輸入的表示式的值計算出來。一開始覺得這樣子的程式應該是很簡單的,然後開始動手寫,開始寫了之後才發現並...

中綴表示式轉換成字尾表示式

一 基礎知識 中綴表示式 人們常用的表示式就叫做中綴表示式,如a b c d 字尾表示式 又叫做逆波蘭表示式,由一名波蘭數學家提出,方便進棧操作 字尾表示式也叫逆波蘭表示式,其求值過程可以用到棧來輔助儲存。假定待求值的字尾表示式為 6 5 2 3 8 3 則其求值過程如下 1 遍歷表示式,遇到的數字...

中綴表示式轉換成字尾表示式

中綴表示式轉字尾表示式 思路 三個方法 將中綴表示式轉換成 中綴表示式對應的 list 自定義運算子優先順序 將中綴表示式對應的 list 轉換成 字尾表示式.1.1 使用 list 更好的和 stack 配合,list 比 字串的遍歷更加靈活.將中綴表示式對應的 list 轉換成 字尾表示式 2....