C 實現二叉樹

2022-07-27 12:09:12 字數 1742 閱讀 9608

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;67

namespace

binarytree818

19//

mytree.preordertree(mytree);

20//

mytree.inordertree(mytree);

21mytree.postordertree(mytree);22}

2324

//定義二叉樹

25public

class treewhere t : icomparable26

38set

3942}43

44public treelefttree

4550

set5154}

5556

public treerighttree

5762

set6366}

6768

//建構函式,定義二叉樹根節點

69public

tree(t data)

7075

76///

77///

向二叉樹中插入乙個新的結點

78///

小於根節點插入左子樹

79///

大於根節點插入右子樹

80///

81public

void

insert(t data)

8290

else

9194}95

else

96101

else

102105

}106

}107

108///

109///

前序遍歷:中左右

110///

111public

void preordertree(treeroot)

112119

}120

121///

122///

中序遍歷:左中右

123///

124public

void inordertree(treeroot)

125132

}133

134///

135///

後序遍歷:左右中

136///

137public

void postordertree(treeroot)

138145

}146

147///

148///

逐層遍歷:

149///

1. 從根節點開始,訪問乙個節點然後將其左右子樹的根節點一次放入鍊錶,然後刪除該根節點。

150///

2. 依次遍歷鍊錶中的元素,直到鍊錶中元素數量為0。

151///

152public

void

wideordertree()

153166

if (temp.righttree != null

)167

170}

171}

172}

173}

174 }

C 實現二叉樹

其中的 linkstack.h 和 linkqueue 分別在 以下兩篇博文裡 linkstack linkqueue include include linkstack.h include linkqueue.h using namespace std 定義節點 templatestruct no...

二叉樹C 實現

最近整理原來的一些 腦子有點不好使,還是記下來吧。binary tree.h,遍歷包含了遞迴和非遞迴兩種,層次遍歷 ifndef binary tree h define binary tree h templatestruct binode templateclass bitree endif b...

C 實現二叉樹

實現 pragma once include include include using namespace std templatestruct bintreenode templateclass binarytree binarytree char str 根據先序字串行建立二叉樹 binary...