#include
using namespace std;
template
struct binode //二叉樹的結點結構
;const int stacksize = 20;
template
class bitree;/*
*前置條件:無
*輸 入:無
*功 能:呼叫create()函式
*輸 出:無
*後置條件:無
*/template
bitree::bitree( )
/**前置條件:二叉樹已存在
*輸 入:無
*功 能:釋放二叉鍊錶中各結點的儲存空間
*輸 出:無
*後置條件:二叉樹不存在
*/template
bitree::~bitree(void)
/**前置條件:二叉樹已存在
*輸 入:無
*功 能:獲取指向二叉樹根結點的指標
*輸 出:指向二叉樹根結點的指標
*後置條件:二叉樹不變
*/template
binode* bitree::getroot( )
/**前置條件:二叉樹已存在
*輸 入:無
*功 能:前序遍歷二叉樹
*輸 出:二叉樹中結點的乙個線性排列
*後置條件:二叉樹不變
*/template
void bitree::preorder(binode*root)}/*
*前置條件:二叉樹已存在
*輸 入:無
*功 能:中序遍歷二叉樹
*輸 出:二叉樹中結點的乙個線性排列
*後置條件:二叉樹不變
*/template
void bitree::inorder (binode*root)}/*
*前置條件:二叉樹已存在
*輸 入:無
*功 能:後序遍歷二叉樹
*輸 出:二叉樹中結點的乙個線性排列
*後置條件:二叉樹不變
*/template
void bitree::postorder(binode*root)}/*
*前置條件:二叉樹已存在
*輸 入:無
*功 能:層序遍歷二叉樹
*輸 出:二叉樹中結點的乙個線性排列
*後置條件:二叉樹不變
*/template
void bitree::leverorder(binode*root)}}
/**前置條件:空二叉樹
*輸 入:資料ch;
*功 能:初始化一棵二叉樹,構造函式呼叫
*輸 出:無
*後置條件:產生一棵二叉樹
*/template
binode* bitree::creat( )
return root;}/*
*前置條件:二叉樹已經存在
*輸 入:無
*功 能:釋放二叉樹的儲存空間,析構函式呼叫
*輸 出:無
*後置條件:二叉樹不存在
*/template
void bitree::release(binode* root)
}int main()
資料結構之二叉樹 C 二
目錄 table of contents 類的部分實現 二叉樹是一種特殊的樹,在上一節中也介紹了樹的其他形式,例如 霍夫曼樹,b樹等。其中,二叉樹的常用操作有 1.確定樹高 2.確定元素數目 3.複製 4.顯示或列印二叉樹 5.確定兩顆二叉樹是否一樣 6.刪除整顆樹 這些操作都可以通過有步驟的遍歷二...
資料結構之二叉樹
在二叉樹中每個節點最多只能有兩個子節點。即左子節點和有子節點。在二叉樹中最重要的操作應當是遍歷。即按照某一順序訪問二叉樹中的每乙個節點。一般有如下幾種遍歷方法 1 前序遍歷,即先訪問根幾點,然後再訪問左子節點,最後訪問右子節點。2 中序遍歷,即先訪問左子節點,然後再訪問根節點,最後訪問右子節點。3 ...
資料結構之二叉樹
定義 滿足以下條件的就是樹 1.有且僅有乙個特定的稱為根root的結點。2.當n 1時,其餘結點可分為m m 0 個互不相交的有限集,其中每個集合本身又是乙個棵樹,並稱為根的子樹。樹是資料結構中一種常見的資料結構,比如我們排序中常見的二叉樹,紅黑樹等。最常見的是樹形表示法和廣義表表示法。樹的結構示意...