二叉樹的基本操作

2021-08-21 22:41:33 字數 960 閱讀 8308

#include#includestruct node;

//建立二叉排序樹

struct node *create_sort_tree(struct node *root,int x)elseelse if(root->datarc=create_sort_tree(root->rc,x);

}else

printf("root->data %d\n",root->data);

return root;

}}//先序遍歷二叉樹

void first_put(struct node *root)

}//中序遍歷二叉樹

void mid_put(struct node *root)

}//後序遍歷二叉樹

void last_put(struct node *root)

}//層次遍歷二叉樹

void level_put(struct node *root)

while(j=i時表示樹中所有節點均遍歷完成

++j;

//左右孩子不為空分別入隊

if(temp[j]->lc!=null)

if(temp[j]->rc!=null)

//左右孩子節點為空則為葉子節點

if(temp[j]->lc==null&&temp[j]->rc==null)

}printf("葉子節點的個數是 %d\n",num);

for(int x=0;x<=i;x++)

}//求二叉樹深度

int tree_deepth(struct node *root)elseelse

}}//入口函式

int main()

int high=tree_deepth(root);

printf("樹的高度是:%d\n",high);

return 0;

}

二叉樹基本操作

tree.h ifndef tree h define tree h include typedef int element 定義二叉樹 typedef struct nodetreenode void preorder treenode root 遞迴前序遍歷 void inorder treen...

二叉樹基本操作

一.二叉樹的定義 二.二叉樹的建立 定義一棵無資料的二叉樹 6 int left size 7 int right size 為了操作簡便,我們定義一棵不需要儲存資料的二叉樹,只要能儲存節點之間的邏輯關係就行,所以用兩個陣列來表示。left i 第i個節點的左子節點的序號 right i 第i個節點...

二叉樹基本操作

include include define maxsize 100 typedef char elemtype typedef struct node btnode void createbtnode btnode b,char str 由str串建立二叉鏈 j ch str j btnode f...