逆波蘭式與表示式求解

2021-06-25 15:50:29 字數 1037 閱讀 2111

/***************

逆波蘭式即字尾表示法

預處理 ———— 中序表示式 - > 逆序表示式(infix to postfix)

演算法:while (表示式非空)

if (遇到運算元)

直接輸出

else if (遇到操作符op)

op是(直接入棧s

op是) s.push輸出,直到(

op是四則運算,則

while (1)

if (s為空 || s.top為(|| op 優先順序高於 s.top)

op 入棧

break;

else

s.push輸出

while (!s.empty)

s.push輸出

計算 演算法 :

if (遇到運算元)

入棧selse (遇到操作符)

s.push兩個元素進行運算,結果入棧

*******************/

#include #include #include #include #include using namespace std;

stackop_flag;

stackresult;

double result(char *s)

else if (null != strchr("+/-*", *s))

else

++s;

} return result.top();

}void get_after(char *s, char *re)

else

else if (')' == *s)

op_flag.pop();

}else if (null != strchr("*-+/", *s))

else}}

} s++;

} while (!op_flag.empty())

*re = '\0';

}int main()

return 0;

}

逆波蘭式數學表示式求解

逆波蘭式數學表示式求解 輸入逆波蘭式表示式 include include using namespace std 函式表示式比較str1和str2優先順序 return 1表示str1優先順序高 return 0表示優先順序相等 return 1表示str2優先順序高 intcompare cha...

波蘭表示式與逆波蘭表示式

2018年09月03日 11 29 15 jitwxs 閱讀數 70 標籤 波蘭 字首 更多 個人分類 演算法與資料結構 常見的算術表示式,稱為中綴表示式,例如 5 6 4 2 3波蘭表示式也稱為字首表示式,以上面的例子為例,其波蘭表示式為 5 6 4 2 3中綴表示式轉換字首表示式的操作過程為 1...

逆波蘭式與表示式求值

波蘭式 逆波蘭式是資料結構和編譯原理裡面提到的知識點,我們平時的表示式都是這樣的2 3 5 1 10 中綴表示式 這樣表示式易於閱讀和計算,但是對於計算機這樣就有點懵逼了。字首表示式 比如2 3 5 1 這個表示式的字首表示式為 2 3 5 1來表示 波蘭表示式 中綴序表示式 比如 2 3 5 1 ...