二叉樹的實現(一)

2021-08-02 22:25:33 字數 1562 閱讀 2618

一、二叉樹的結點bintreenode成員

二叉樹結點型別中的成員:資料域、左子樹、右子樹

二叉樹型別:只要知道乙個根節點root,就可以對整個二叉樹結構清晰了解,也可以設定乙個結束識別符號stop_flag。

初始化二叉樹:init_bintree()

二、建立二叉樹

1.建立二叉樹函式,無返回值,設定識別符號以識別符號結束

首先給乙個介面函式,通過把二叉樹傳進來, void create_bintree(bintree bt,elemtype flag),再把二叉樹的根節點傳出去

然後再給乙個建立函式,通過對二叉樹額根節點進行操作,主要思想利用遞迴,輸入為'#',返回null,否者建立結點,然後以這個結點為根節點進行左子樹的建立,再進行右子樹的建立

注意:此時傳進來的變數型別是指向節點型別的指標型別,並且要通過該函式對二叉樹進行建立(也就是說要通過形參改變實參:兩種方式 1引用2傳址)這裡的實參是乙個指向結點型別的指標型別,所以說,要通過形參對實參改變傳位址,或者引用。

2.建立識別符號,函式無返回值,以字串傳遞

首先乙個介面函式,把二叉樹和字串傳進來,再把二叉樹的根節點傳出去

如果字串不為'\0'或者不為'#'就開闢空間給data賦值,然後遞迴

3.返回二叉樹根節點

首先乙個介面函式,把二叉樹和字串傳進來,再把二叉樹的根節點傳出去

如果二叉樹的根節點為null,直接return null,如果字串不為'\0'或者不為 '#' 就開闢空間給data賦值,然後遞迴

如果剛傳進來的根節點為空,直接結束主函式,如果剛開始走else分支的話,再給左分支建立利用遞迴,如果走if分支,直接返回給t->liftchild,然後再建立右子樹,以此類推。。。。。。

二叉樹 排序二叉樹的簡單實現

二叉樹 排序二叉樹 include using namespace std 二叉樹的節點 date 資料 left 指向二叉樹的左子樹 right 指向二叉樹的右子樹 template struct node template class btree public btree root null c...

二叉樹實現

include include include include define maxsize 100 define ok 1 define error 0 define true 1 define false 0 typedef int status typedef int telemtype ty...

二叉樹實現

課內最近學了二叉樹,參考書上的 做了二叉樹的實現,尚不完善,還有很多地方不明白。二叉樹實現。define maxsize 100 include using namespace std 定義二叉樹節點 class btnode void createbt btnode bt,char str voi...