C 資料結構之二叉樹遞迴操作

2021-06-02 08:02:03 字數 1685 閱讀 9641

#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 個互不相交的有限集,其中每個集合本身又是乙個棵樹,並稱為根的子樹。樹是資料結構中一種常見的資料結構,比如我們排序中常見的二叉樹,紅黑樹等。最常見的是樹形表示法和廣義表表示法。樹的結構示意...