資料結構與演算法分析——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....