-
大小: 4KB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2021-01-08
- 標(biāo)簽: 二叉樹(shù)??
資源簡(jiǎn)介
通過(guò)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)實(shí)現(xiàn)二叉樹(shù)的創(chuàng)建,包含如下操作:
1. 創(chuàng)建樹(shù);
2. 銷毀樹(shù);
3. 清空樹(shù);
4. 插入結(jié)點(diǎn);
5. 刪除結(jié)點(diǎn);
6. 獲取結(jié)點(diǎn);
7. 獲取根結(jié)點(diǎn);
8. 獲取樹(shù)的結(jié)點(diǎn)數(shù);
9. 獲取樹(shù)的高度;
10. 獲取樹(shù)的度;
11. 顯示二叉樹(shù)。
代碼片段和文件信息
#include?
#include?
#include?“BTree.h“
//?定義二叉樹(shù)根結(jié)點(diǎn)結(jié)構(gòu)體
typedef?struct?_tag_BTree?TBTree;
struct?_tag_BTree
{
????int?count;????????????????//?記錄二叉樹(shù)結(jié)點(diǎn)個(gè)數(shù)
????BTreeNode*?root;??????????//?二叉樹(shù)結(jié)點(diǎn)指針結(jié)構(gòu)體,指向根結(jié)點(diǎn)
};
//?顯示遞歸函數(shù)
static?void?recursive_display(BTreeNode*?node?BTree_Printf*?pFunc?int?format?int?gap?char?div)?//?O(n)
{
????int?i?=?0;
????//?合法性檢查OK
????if(?(node?!=?NULL)?&&?(pFunc?!=?NULL)?)
????{
???? ??//?打印格式符
????????for(i=0;?i ????????{
????????????printf(“%c“?div);
????????}
????????//?打印內(nèi)容
????????pFunc(node);
????????
????????printf(“\n“);
????????//?存在左子樹(shù)結(jié)點(diǎn)或存在右子樹(shù)結(jié)點(diǎn)
????????if(?(node->left?!=?NULL)?||?(node->right?!=?NULL)?)
????????{
?
????????????recursive_display(node->left?pFunc?format?+?gap?gap?div);??????//?調(diào)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????12746??2018-02-24?12:37??二叉樹(shù)創(chuàng)建\BTree.c
?????文件???????1133??2018-02-19?16:07??二叉樹(shù)創(chuàng)建\BTree.h
?????文件???????2370??2018-02-24?12:40??二叉樹(shù)創(chuàng)建\main.c
?????目錄??????????0??2018-02-24?15:05??二叉樹(shù)創(chuàng)建
-----------?---------??----------?-----??----
????????????????16249????????????????????4
評(píng)論
共有 條評(píng)論