第十一周專案1 (1)層次遍歷演算法的驗證

2021-07-24 16:36:19 字數 1653 閱讀 8579

問題及**:

/* 

檔名稱:ccc.cpp

完成日期:2023年11月17日

版 本 號:v1.0

問題描述:實現二叉樹的層次遍歷演算法,並對用」a(b(,d(,g)),c(e,f))」建立的二叉樹進行測試

輸入描述:無

程式輸出:測試資料

*/

btree.h

#ifndef btree_h_included

#define btree_h_included

#include #include #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 "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 "btree.h"

void levelorder(btnode *b)

if (p->rchild!=null) //有右孩子時將其進隊

}}int main()

執行結果:

第十一周專案1 層次遍歷演算法(1)

檔名稱 第十一周專案1 二叉樹演算法驗證.cpp 作 者 高露 完成日期 2015年11月16日 版 本 號 v1.0 問題描述 執行並重複測試教學內容中涉及的演算法。改變測試資料進行重複測試的意義在於,可以從更多角度體會演算法,以達到逐漸掌握演算法的程度。使用你的測試資料,並展示測試結果,觀察執行...

第十一周專案一層次遍歷的演算法

問題 問題及 all right reserved.檔名稱 二叉樹層次遍歷的演算法.cpp 完成日期 2016年11月10日 版本號 v1.0 問題描述 層次遍歷的演算法 輸入描述 用括號的形式輸入二叉樹各個元素 程式輸出 按層次序列輸出 include include btree.h int ma...

第十一周專案一(層次遍歷的演算法)

問題及 include include btree.h int main include include include btree.h void levelorder btnode b if p rchild null 有右孩子時將其進隊 void createbtnode btnode b,ch...