實驗五 樹和二叉樹的實驗2

2021-08-20 03:31:24 字數 2292 閱讀 6868

使用二叉樹的鏈式儲存結構,建立一棵二叉樹,進行前序、中序以及後序遍歷,同時求得二叉樹的結點個數以及葉子結點個數。

程式源**:

# ifndef bitree_h

# define bitree_h

struct binode

char data;

binode *lchild,*rchild;

class bitree

public:

bitree()

~bitree()

void preorder()

void inorder()

void postorder()

void count()

void countleaf()

private:

binode *root;

binode *creat(binode *bt);

void release(binode  *bt);

void preorder(binode *bt);

void inorder(binode *bt);

void postorder(binode *bt);

void count(binode *bt);

void countleaf(binode *bt);

# endif

# include

using namespace std;

# include"bitree.h"

int count=0;

binode *bitree::creat(binode *bt)

char ch;

cout<

"<

cin>>ch;

if(ch=='#') return null;

else

bt=new binode;

bt->data=ch;

bt->lchild=creat(bt->lchild);

bt->rchild=creat(bt->rchild);

return bt;

void bitree::release(binode *bt)

if(bt!=null)

release(bt->lchild);

release(bt->rchild);

delete bt;

void bitree::preorder(binode *bt)

if(bt==null) return;

else

cout

preorder(bt->lchild);

preorder(bt->rchild);

void bitree::inorder(binode *bt)

if(bt==null) return;

else

inorder(bt->lchild);

cout

inorder(bt->rchild);

void bitree::postorder(binode *bt)

if(bt==null) return;

else

postorder(bt->lchild);

postorder(bt->rchild);

cout

void bitree::count(binode *bt)

if(bt!=null)

count(bt->lchild);

count++;

count(bt->rchild);

cout

if(bt->lchild==null&&bt->rchild==null)

count++;

countleaf(bt->lchild);

countleaf(bt->rchild);

cout

using namespace std;

# include"bitree.h"

int main()

bitree t;

cout<

"<

t.preorder();

cout

"<

t.inorder();

cout

"<

t.postorder();

cout

"<

t.count();

cout

"<

t.countleaf();

cout

程式結果:

實驗五 樹和二叉樹實驗

三 實驗內容 1.自己設計乙個二叉樹,深度最少為4,請遞迴演算法分別用前序 中序 後序遍歷輸出樹結點。ifndef tree h define tree h struct binode class tree tree void preorder private binode root binode ...

實驗五 樹和二叉樹實驗

資料結構 實驗五 樹和二叉樹實驗 1.回樹和二叉樹的邏輯結構和儲存方法,清楚掌握樹和二叉樹的遍歷操作。2.學習樹的相關知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗內容 1.自己設計乙個二叉樹,深度最少為4,請遞迴演算法分別用前序 中序 後序遍歷輸出樹結點。源程...

實驗 5 樹和二叉樹的實驗 2

1 熟練理解樹和二叉樹的相關概念,掌握的儲存結構和相關操作實現 2 掌握樹的順序結構的實現 3 學會運用樹的知識解決實際問題 二 實驗內容 1 自己確定乙個二叉樹 樹結點型別 數目和結構自定 利用鏈式儲存 結構方法儲存。實現樹的構造,並完成 1 用前序遍歷 中序遍歷 後序遍歷輸出結點資料 2 以合理...