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

2021-08-10 19:16:17 字數 1741 閱讀 6471

*  

*all rights reservrd.      

*檔名稱 :test.cpp      

*版本號:v1.0      

*問題描述:定義二叉樹的鏈式儲存結構,實現其基本運算

問題及**:

btree.h函式:

#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...