資料結構 鏈式二叉樹

2022-07-31 13:06:07 字數 2778 閱讀 3032

#include 

<

iostream

>

using

namespace

std;

typedef

struct

treenode

treenode,

*treep;

//初始化二叉樹

void

init_tree(treep

&root)

//建立二叉樹

void

creat_tree(treep

&rt)}//

前序遍歷二叉樹

void

pre_order(treep

&rt)}//

中序遍歷二叉樹

void

mid_order(treep

&rt)}//

後序遍歷二叉樹

void

back_order(treep

&rt)}//

層序遍歷

void

leve_lorder(treep

&rt)}}

//求二叉樹的深度

intdepth_tree(treep

&rt)}//

求二叉樹的節點個數

intleaf_tree(treep

&rt)

return

( leaf_tree(rt

->

left)

+leaf_tree(rt

->

right) +1

);}else}//

查詢二叉樹中是否存在某元素

intseach_tree(treep

&rt,

char

key)

else}}

//銷毀二叉樹

intdestroy_tree(treep

&root)

else}//

更改某節點的值

void

assign_tree(treep

&rt,

char

c,char

value)}//

求雙親void

parent_tree(treep

&rt,

char

value)

if( (rt

->

left

!=null

&&rt

->

left

->

data

==value )

||(rt

->

right

!=null

&&rt

->

right

->

data

==value) )

cout

<<

rt->

data

<<

endl;

else}}

//求左孩子

void

leftchild_tree(treep

&rt ,

char

value )

else}}

//求右孩子

void

rightchild_tree(treep

&rt ,

char

value )

else}}

//求左兄弟

void

leftbrother_tree(treep

&rt ,

char

value )

if(rt

->

left

!=null

&&value

==rt

->

left

->

data)

else

if(rt

->

left

!=null

&&value

==rt

->

right

->

data)

else}}

//求右兄弟

void

rightbrother_tree(treep

&rt ,

char

value )

if(rt

->

right

!=null

&&value

==rt

->

right

->

data)

else

if(rt

->

left

!=null

&&value

==rt

->

left

->

data)

else}}

//刪除子樹

void

delete_tree(treep

&rt,

char

ch,int

bl)else}}

//插入子樹

void

insert_tree(treep

&rt1,

char

ch,int

bl,treep

&rt2)

else

}else

else}}

else}}

intmain()

資料結構 鏈式二叉樹

include using namespace std typedef struct treenode treenode,treep 初始化二叉樹 void init tree treep root 前序遍歷二叉樹 void pre order treep rt 中序遍歷二叉樹 void mid o...

資料結構 鏈式二叉樹

define error 0 define true 1 define false 0 status是函式的型別,其值是函式結果狀態 如ok等 typedef int status typedef int telementtype ifndef bitree h included define bi...

資料結構 H 鏈式二叉樹

目錄 分析順序儲存二叉樹的優缺點使用孩子法實現二叉樹 1.二叉樹的順序結構 普通的二叉樹不適合用陣列來儲存,因為可能會造成大量的空間浪費。而完全二叉樹更適合利用順序結構儲存。現實中我們通常把堆 一種二叉樹 使用順序結構的陣列來儲存,需要注意的是這裡的堆操作和作業系統虛擬程序位址空間是兩回事,乙個是資...