資料結構第九周專案一 二叉樹演算法庫

2021-08-09 20:37:59 字數 1663 閱讀 9401

建立二叉樹的基本演算法如下

標頭檔案(btree.h)

/* 

*檔名稱:多檔案組織

*作 者:張昕

*完成日期:2023年10月26日

*版 本 號:v1.0

*/ #ifndef btree_h_included

#define btree_h_included

#define maxsize 100

typedef char elemtype;

typedef struct node

btnode;

void createbtnode(btnode *&b,char *str); //由str串建立二叉鏈

btnode *findnode(btnode *b,elemtype x); //返回data域為x的節點指標

btnode *lchildnode(btnode *p); //返回*p節點的左孩子節點指標

btnode *rchildnode(btnode *p); //返回*p節點的右孩子節點指標

int btnodedepth(btnode *b); //求二叉樹b的深度

void dispbtnode(btnode *b); //以括號表示法輸出二叉樹

void destroybtnode(btnode *&b); //銷毀二叉樹

#endif // btree_h_included

原始檔**(btree.cpp)

#include #include #include "btree.h"

void createbtnode(btnode *&b,char *str) //由str串建立二叉鏈}}

j++;

ch=str[j];

}}btnode *findnode(btnode *b,elemtype x) //返回data域為x的節點指標

}btnode *lchildnode(btnode *p) //返回*p節點的左孩子節點指標

btnode *rchildnode(btnode *p) //返回*p節點的右孩子節點指標

int btnodedepth(btnode *b) //求二叉樹b的深度

}void dispbtnode(btnode *b) //以括號表示法輸出二叉樹

}}void destroybtnode(btnode *&b) //銷毀二叉樹

}

主函式(main.cpp)

#include #include "btree.h"

int main()

else

printf(" 未找到!");

printf("\n");

printf(" (4)二叉樹b的深度:%d\n",btnodedepth(b));

printf(" (5)釋放二叉樹b\n");

destroybtnode(b);

return 0;

}

測試執行結果如下:

基礎的二叉樹建立,可以作為以後的模板使用。

第九周 專案一「二叉樹演算法庫」

煙台大學計算機學院 檔名稱 btree 完成日期 2017 10 28 問題描述 建立二叉樹演算法庫 btree.h ifndef btree h included define btree h included define maxsize 100 typedef char elemtype ty...

第九周 專案一二叉樹演算法庫

all right reserved.檔名稱 btree 完成日期 2017年10月31日 版本號 v1.0 問題描述 二叉樹演算法 輸入描述 標準函式輸入 程式輸出 二叉樹及查詢某節點的左右孩子 二叉樹的鏈式儲存演算法庫採用程式的多檔案組織形式,包括兩個檔案 1.標頭檔案 btree.h,包含定義...

第九周專案一 二叉樹演算法庫

btree.h 檔名稱 二叉樹演算法庫 作 者 胡德傑 完成日期 2017年11月6號 版 本 號 v1.1.24 include stdio.h define maxsize 100 include malloc.h typedef char elemtype typedef struct nod...