資源簡介
通過鏈式存儲結構實現二叉樹的創建,包含如下操作:
1. 創建樹;
2. 銷毀樹;
3. 清空樹;
4. 插入結點;
5. 刪除結點;
6. 獲取結點;
7. 獲取根結點;
8. 獲取樹的結點數;
9. 獲取樹的高度;
10. 獲取樹的度;
11. 顯示二叉樹。
代碼片段和文件信息
#include?
#include?
#include?“BTree.h“
//?定義二叉樹根結點結構體
typedef?struct?_tag_BTree?TBTree;
struct?_tag_BTree
{
????int?count;????????????????//?記錄二叉樹結點個數
????BTreeNode*?root;??????????//?二叉樹結點指針結構體,指向根結點
};
//?顯示遞歸函數
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);
????????}
????????//?打印內容
????????pFunc(node);
????????
????????printf(“\n“);
????????//?存在左子樹結點或存在右子樹結點
????????if(?(node->left?!=?NULL)?||?(node->right?!=?NULL)?)
????????{
?
????????????recursive_display(node->left?pFunc?format?+?gap?gap?div);??????//?調
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????12746??2018-02-24?12:37??二叉樹創建\BTree.c
?????文件???????1133??2018-02-19?16:07??二叉樹創建\BTree.h
?????文件???????2370??2018-02-24?12:40??二叉樹創建\main.c
?????目錄??????????0??2018-02-24?15:05??二叉樹創建
-----------?---------??----------?-----??----
????????????????16249????????????????????4
評論
共有 條評論