資料結構C 實現 二叉樹

2021-07-08 15:45:51 字數 2201 閱讀 1839

adt btree

btnode(const t& x)

btnode(const t& x,btnode* l,btnode* r)

//三個資料成員

t element;

btnode* lchild,*rchild;

};

二叉樹類包含唯一的資料成員,它是指向乙個二叉鍊錶根結點的指標root

//二叉樹類(先建立二叉樹結點類)

templatet>

class

binarytree

~binarytree

(); bool isempty

()const;

void clear();

bool root(t& x)const;

void maketree

(const

t& x,binarytree

& left,binarytree

& right);

void breaktree

(const

t& x,binarytree

& left,binarytree

& right);

void preorder

(void (*visit)

(t& x);

void inorder

(void (*visit)

(t& x);

void postorder

(void (*visit)

(t& x);

};protected:

btnode

* root;

private:

void clear

(btnode

* &t);

void preorder

(void (*visit)

(t& x),btnode

*t);

void inorder

(void (*visit)

(t& x),btnode

*t);

void postorder

(void (*visit)

(t& x),btnode

*t);

bool binarytree::root(t& x)const

else

return

false;

}

void binarytree::maketree(const t& x,binarytree& left,binarytree& left

void binarytree::breaktree( t& x,binarytree& left;binarytree& right)

先序遍歷(lvr)同理(rvl)

//公有非遞迴函式

template

void binarytree

::preorder(void (*visit)(t& x))

//私有遞迴函式

template

void binarytree

::preorder(void (*visit)(t& x),btnode* t)

}

中序遍歷(vlr)同理(vrl)

//公有非遞迴函式

template

void binarytree

::inorder(void (*visit)(t& x))

//私有遞迴函式

template

void binarytree

::inorder(void (*visit)(t& x),btnode* t)

}

後序遍歷(lrv)同理rlv

//公有非遞迴函式

template

void binarytree

::postorder(void (*visit)(t& x))

//私有遞迴函式

template

void binarytree

::postorder(void (*visit)(t& x),btnode* t)

}

C 資料結構(樹 二叉樹)

樹的定義 樹是你 n 0 個節點的有限集t t為空是空樹 非空樹具有兩個條件。有且僅有乙個根節點作為樹根 其餘節點可分為m個互不相交的子集t1,tm。其中每乙個子集本手又是一顆樹,稱其為跟節點的子樹。遞迴思想 樹的二元組表示 t d,r d 樹t中的節點集合,r 樹中的節點關係。二元組另外一種表示 ...

資料結構的C實現 二叉樹

二叉樹及其遞迴和非遞迴遍歷 include include define maxkey 100 define ok 1 typedef char elemtype typedef struct node node 二叉樹節點 遞迴先序遍歷 void preorder r node tree 遞迴中序...

資料結構(C實現) 遍歷二叉樹

二叉樹是另一中樹型結構,它的特點是每個結點至多只有兩棵子樹 即二叉樹中不存在度大於 的結點 並且,二叉樹的子樹有左右之分,其次序不能任意顛倒。根據二叉樹的的遞迴定義可知,二叉樹是由3個基本單元組成,根結點 左子樹和右子樹,因此,若能依次遍歷這三部分,便是遍歷了整個二叉樹。假如以l d r分別表示遍歷...