/*
煙台大學計算機學院
檔名稱:2.cpp
完成日期:2023年11月16日
問題描述:用二叉樹來表示代數表示式
輸入描述:無
輸出描述:後序遍歷結果以及算式結果
用到btree2.h演算法庫
*/#include
#include
#include
#include "../btree2.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)
} intmain()
執行結果:
學習心得:學會了如何用二叉樹表示代數表示式
第十周 專案3 1
檔名稱 main.cpp 作者 孫彩虹 完成日期 2015年11月23日 問題描述 計算二叉樹節點個數 include include ifndef btree h included define btree h included define maxsize 100 typedef char el...
第十周 專案三
計算機控制工程學院 姓名 陳飛 班級 計156 2 問題及 cpp view plain copy 1 計算二叉樹節點個數 include include btree.h int nodes btnode b int main cpp view plain copy 執行結果 cpp view pl...
第十周專案1(3)
煙台大學計算機學院 檔名稱 xiangmu.cpp 完成日期 2017年11月5日 問題描述 中序線索化二叉樹的演算法驗證 輸入描述 無 輸出描述 線索二叉樹遍歷結果 include include define maxsize 100 typedef char elemtype typedef s...