1樓:匿名使用者
有兩個錯誤:1.當讀入的是空格時,t賦值為空不錯,但此時應該返回,而不應該進入下一個判斷的else分句,樓主的**就是進入了if(ch=='#') exit(0);的else分句。
2.可以看到主函式中對createbitree的呼叫需要用一個指標承接返回值,所以根據遞迴呼叫的形式不變,在createbitree中呼叫自身的時候也要承接返回值。根據樓主的**修改如下:
#include
#include
#include
typedef struct bitnodebitnode,*bitree;
bitree creatbitree(bitree t) /先序建立二叉樹。
return t;
void bitreetra(bitree t) /先序遍歷二叉樹。
void main()
2樓:匿名使用者
#include
#include
#include
typedef struct bitnodebitnode,*bitree;
void creatbitree(bitree &t) /先序建立二叉樹。
void bitreetra(bitree t) /先序遍歷二叉樹。
void main()
//放在。cpp檔案下,就可以執行。
二叉樹遍歷問題?
自學到二叉樹的時候,有一段關於遍歷二叉樹的**看不懂.....
二叉樹的遍歷問題
3樓:可樂墮天貓
前序是先中間後左右。
所以a是根節點 用a將右邊的中序序列分成兩個部分 左邊是左子樹 右邊是右子樹。
根據這種方式就可以推出樹的形狀 進而寫出後序序列樹的形狀是。
ab cd e fg h
二叉樹的遍歷是怎麼回事
4樓:網友
就是把二叉樹的所有節點都訪問一遍,有前序,中序,後序等遍歷方法,具體的一兩句也說不清楚,自己搜一搜吧。
5樓:夜巴黎
對一棵樹的遍歷就是對樹的查詢順序,
二叉樹的遍歷問題,二叉樹的遍歷問題?
程式vs2003成功編譯執行 include stdafx.h include using namespace std typedef struct tree bintree 二叉樹的建立 bintree create char str,intpose,intsize return t void p...
資料結構二叉樹的遍歷,C語言資料結構 二叉樹的遍歷
前序 根,左兒子,右兒子 中序 左兒子,根,右兒子 後序 左兒子,右兒子,根 首先是要牢記一上幾句話 比如這棵樹的中許遍歷,a有左兒子,先不訪問a,以此類推,直到d沒有左兒子,訪問d,然後訪問d的根b,然後應該訪問b的右兒子,但是b沒有,所以訪問b的根a,訪問完a以後訪問a的右子樹。先看c,c有左兒...
設有如下圖所示的二叉樹,對此二叉樹前序遍歷的結果為()
b,前序就是先看根節點,再看左子樹,再看右子樹 b你可以加我賬戶名,我是學計算機的。設一棵二叉樹的中序遍歷結果為dbeafc,前序遍歷的結果為abdecf,則後序遍歷結果為 依據前序抄 遍歷序列可確定襲根結點為a 再依據中序遍歷序列可知其左子樹由dbe構成,右子樹為fc 又由左子樹的前序遍歷序列可知...