#include
#include
#include
#define ok 1;
#define error -1;
/** 採用二叉鍊錶表示
*/typedef
struct btnode btnode,
*btree;
//宣告函式
intinitbtree
(btree& t)
;//先序遍歷建立左子樹
intpre_visit
(btree &t)
;//先序遍歷
intmid_visit
(btree& t)
;//中序遍歷
intlas_visit
(btree& t)
;//後序遍歷
intinitbtree
(btree& t)
else
}int
createtree
(btree& t)
intpre_visit
(btree& t)
printf
("%d\n"
,t->data)
;pre_visit
(t->lchild)
;pre_visit
(t->rchild)
;return ok;
}int
mid_visit
(btree& t)
mid_visit
(t->lchild)
;printf
("%d\n"
,t->data)
;mid_visit
(t->rchild)
;return ok;
}int
las_visit
(btree& t)
las_visit
(t->lchild)
;las_visit
(t->rchild)
;printf
("%d\n"
,t->data)
;return ok;
}int
main()
建立二叉樹的時候採用的儲存結構為二叉鍊錶的方式,並使用先序遍歷訪問的方法建立二叉樹,遍歷的時候採用的是遞迴的呼叫 遍歷二叉樹(資料結構,遞迴)
在二叉樹的應用中,常常要求在樹中查詢具有某種特徵的結點,或者對全部結點逐一進行某種處理。這就是二叉樹的遍歷問題。所謂二叉樹的遍歷是指按一定的規律和次序訪問樹中的各個結點,而且每個結點僅被訪問一次。訪問 的含義很廣,可以是對結點作各種處理,如輸出結點的資訊等。遍歷一般按照從左到右的順序,共有3種遍歷方...
資料結構 二叉樹的遍歷 遞迴
二叉樹的遍歷。include include define maxsize 100 typedef char elemtype using namespace std typedef struct node btnode void createbtnode btnode b,char str 建立二...
資料結構 樹 二叉樹的遍歷方式(遞迴和非遞迴)
include include include includeusing namespace std typedef struct btnode btnode,btree void createbtree btree t else void preorder btree t 先序遍歷 遞迴 void...