第10周 專案2 二叉樹遍歷的遞迴演算法

2021-07-24 07:51:03 字數 1466 閱讀 1229

問題及描述:

1.標頭檔案:btree.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); //銷毀二叉樹

2.原始檔: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) //銷毀二叉樹

}

3.主函式

#include #include "btree.h"  

void preorder(btnode *b) //先序遍歷的遞迴演算法

} void inorder(btnode *b) //中序遍歷的遞迴演算法

} void postorder(btnode *b) //後序遍歷的遞迴演算法

} int main()

第10周 專案2 二叉樹遍歷的遞迴演算法

1.標頭檔案 btree.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 define maxsize 100 typedef char elemtype typedef struct node btnode void createbtnode btnode b,char str ...

第10周 專案2 二叉樹遍歷的遞迴演算法

問題描述及 ifndef btree h included define btree h included 煙台大學計控學院 作 者 楊徵 完成日期 2015年11月2日 問題描述 實現二叉樹的先序 中序 後序遍歷的遞迴演算法,並對用 a b d,e h j,k l,m n c f,g i 建立的二...

第10周專案2二叉樹遍歷的遞迴演算法

問題及 計算機與控制工程學院 完成日期 2015年11月6日 問題描述 二叉樹遍歷的遞迴演算法 ifndef btree h included define btree h included define maxsize 100 typedef char elemtype typedef struc...