/*煙台大學計算機學院
完成日期: 2017 11 12
*/#include "stdio.h"
#include #include #include "btree.h"
//用s[i]到s[j]之間的字串,構造二叉樹的表示形式
btnode *crtree(char s,int i,int j)
//以下為i!=j的情況
for (k=i; k<=j; k++)
if (s[k]=='+' || s[k]=='-')
if (plus==0) //沒有+或-的情況(因為若有+、-,前面必會執行plus++)
for (k=i; k<=j; k++)
if (s[k]=='*' || s[k]=='/')
//以上的處理考慮了優先將+、-放到二叉樹較高的層次上
//由於將來計算時,運用的是後序遍歷的思路
//處於較低層的乘除會優先運算
//從而體現了「先乘除後加減」的運算法則
//建立乙個分支節點,用檢測到的運算子作為節點值
if (plus!=0)
else //若沒有任何運算子,返回null
return null;
}double comp(btnode *b)
}int main()
執行結果截圖:
第十周 專案二 用二叉樹求解代數表示式
all right reserved.檔名稱 btree 完成日期 2017年11月9日 版本號 v1.0 問題描述 用二叉樹求解代數表示式 輸入描述 標準函式輸入 程式輸出 代數表示式及其結果 程式中的btree.h,見 二叉樹演算法庫 include include include includ...
第十周 專案2 用二叉樹求解代數表示式
檔名稱 作 者 李佳駿 完成日期 2017年10月19日 版 本 號 v1.0 問題描述 二叉樹求解代數表示式 輸入描述 無 程式輸出 用二叉樹來表示代數表示式,樹的每乙個分支節點代表乙個運算子,每乙個葉子節點代表乙個運算數 為簡化,只支援二目運算的 不加括號,運算數也只是一位的數字字元。本專案只考...
第十周 專案2 用二叉樹求解代數表示式
檔名稱 text.cpp 完成日期 2017年11月7日 版本 問題描述 用二叉樹來表示代數表示式,樹的每乙個分支節點代表乙個運算子,每乙個葉子節點代表乙個運算數 為簡化,只支援二目運算的 不加括號,運算數也只是一位的數字字元。本專案只考慮輸入合乎以上規則的情況 請設計演算法,1 根據形如 1 2 ...