1.自己設計乙個二叉樹,深度最少為4,請遞迴演算法分別用前序、中序、後序遍歷輸出樹結點。
前序遍歷源**:
#ifndef tree_h
#define tree_h
struct binode
;class tree
~tree()
void preorder()
private:
binode*root;
binode*creat(binode*bt);
void release(binode*bt);
void preorder(binode*bt);
};#endif
#include
using namespace std;
#include "二叉鍊錶.h"
binode *tree::creat(binode *bt)
return bt;
}void tree::release(binode *bt)
}void tree::preorder(binode *bt)
}#include
using namespace std;
#include "二叉鍊錶.h"
int main()
;class tree
~tree()
void inorder()
private:
binode*root;
binode*creat(binode*bt);
void release(binode*bt);
void inorder(binode*bt);
};#endif
#include
using namespace std;
#include "二叉鍊錶.h"
binode *tree::creat(binode *bt)
return bt;
}void tree::release(binode *bt)
}void tree::inorder(binode *bt)
}#include
using namespace std;
#include "二叉鍊錶.h"
int main()
~tree()
voidpostorder()
private:
binode*root;
binode*creat(binode*bt);
voidrelease(binode*bt);
voidpostorder(binode*bt);
#endif
#include
using namespace std;
#include "二叉鍊錶.h"
binode *tree::creat(binode *bt)
char ch;
cout<>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 tree::release(binode *bt)
if(bt!=null)
release(bt->lchild);
release(bt->rchild);
delete bt;
void tree::postorder(binode *bt)
if(bt==null)return;
else
postorder(bt->lchild);
postorder(bt->rchild);
cout
#include
using namespace std;
#include "二叉鍊錶.h"
int main()
tree t;
cout<
return 0;
輸出結果為:
資料結構實驗五 樹和二叉樹
資料結構實驗五 樹和二叉樹 一 實驗目的 1.回樹和二叉樹的邏輯結構和儲存方法,清楚掌握樹和二叉樹的遍歷操作。2.學習樹的相關知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗時間 準備時間為第10周到第12前半周,具體集中實驗時間為12周周四。2個學時。三 實驗內...
實驗五 樹和二叉樹實驗
三 實驗內容 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,請遞迴演算法分別用前序 中序 後序遍歷輸出樹結點。源程...