第十周專案1 建立二叉樹演算法庫

2021-07-07 02:22:57 字數 2070 閱讀 5073

/*

檔名稱:erchashu.cpp

作 者:李涵睿

完成日期:2023年11月9日

版 本 號:v1.0

問題描述: 定義二叉樹的鏈式儲存結構,實現其基本運算,並完成測試。

輸入描述: 若干測試資料。

程式輸出: 二叉樹的輸出。

*/

標頭檔案brtee.h:

#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); //銷毀二叉樹

#include #include

原始檔brtee.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函式:

#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

執行結果:

知識點總結&學習心得:

二叉樹的學習用到了遞迴的應用,遞迴在今後的學習也有重要應用,經過聽老師在課上的講解以及對演算法的研究,對遞迴更明白了!

第十周專案1 建立二叉樹演算法庫

問題與 檔名稱 head.h,main.cpp,zdy.cpp 完成日期 2015年11月09日 版本號 v1.0 問題描述 建立二叉樹演算法庫 輸入描述 輸入測試資料 程式輸出 若干資料 include include define maxsize 100 typedef char elemtyp...

第十周專案 建立二叉樹演算法庫

ifndef btree h included define btree h included define maxsize 100 typedef char elemtype typedef struct node btnode void createbtnode btnode b,char st...

第十周 專案1 二叉樹演算法庫

檔名稱 main.cpp 作者 王超 完成日期 2015年11月2日 問題描述 二叉樹演算法庫 include include btree.h int main else printf 未找到!printf n printf 4 二叉樹b的深度 d n btnodedepth b printf 5 ...