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

2021-07-24 12:07:47 字數 1415 閱讀 2457

問題及**:

#include #include "btree.h"  

int main()

#include #include #include "btree.h"

void levelorder(btnode *b)

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

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

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

void levelorder(btnode *b);

執行結果:

知識點總結:

利用佇列先進先出的特點從上往下從左往右一層一層的將每個元素進隊,出隊訪問

學習心得:

慢慢學慢慢看總會學會的

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

問題 問題及 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,char s...

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

計算機控制工程學院 班級 計156 2 姓名 陳飛 問題及 define maxsize 100 typedef char elemtype typedef struct node btnode void createbtnode btnode b,char str 由str串建立二叉鏈 btnod...