資料結構實踐 二叉樹演算法庫

2021-07-06 08:49:54 字數 1590 閱讀 7177

/*

* 檔名稱: btree.cpp,btree.cpp,glist.h

* 完成日期:2023年11月2日

* 版本號:codeblocks

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

* 輸入描述: 無

* 程式輸出: 見執行結果

*/#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

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

}#include #include "btree.h"

int main()

else

printf(" 未找到!");

printf("\n");

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

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

資料結構演算法 二叉樹

二叉樹資料結構 bintree.h include templateclass bintree template class treenode type data treenode lchild 左,右子樹 treenode rchild template class bintree void cr...

二叉樹演算法庫

標頭檔案 define maxsize 100 typedef char elemtype typedef struct node btnode void createbtnode btnode b,char str 由str串建立二叉鏈 btnode findnode btnode b,elemt...

二叉樹演算法庫

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