第二週專案2

2021-07-25 05:48:23 字數 1599 閱讀 8989

* 輸入描述: 無

* 輸出描述: 先序、中序、後序遍歷

標頭檔案:

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

void preorder(btnode *b);

void inorder(btnode *b);

void postorder(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)   //銷毀二叉樹

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

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

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

}main函式:

心得體會:通過對二叉樹的先序,中序,後序遍歷的操作,讓我對先序,中序,後序這三種方式有了更加深刻的理解。

第二週專案2

程式的版權和版本宣告部分 檔名稱 score.cpp 作 者 完成日期 年 月 日 版本號 v1.0 輸入描述 已經在程式中初始化 問題描述 將學生成績資訊儲存在結構體陣列中,對結構體排序並輸出 輸出 按c 降序和按學號公升序排序後的學生成績單...

第二週專案二

檔名稱 test.cpp 作 者 李文賀 完成日期 2015年3月29日 版 本 號 v1.0 問題描述 輸入描述 程式輸出 結果 include includeusing namespace std class void setb double y void setc double z doubl...

第二週專案5

檔名稱 完成日期 2013年 3月 9日 版本號 v1.0 對任務及求解方法的描述部分 輸入描述 無 問題描述 點結構體與列舉 程式輸出 點的座標 問題分析 無 演算法設計 include includeusing namespace std enum symmetricstyle 分別表示按x軸,...