二叉樹的基本操作

2021-08-19 13:36:27 字數 2195 閱讀 6051

//使用孩子表示法來表示乙個樹

typedef

struct treenode

treenode;

//對於鍊錶來說,使用鍊錶的頭節點的指標表示乙個鍊錶

//對於乙個樹來書,使用根節點的指標來表示乙個樹

void treeinit(treenode** proot);

void treepreorder(treenode* root);//先序

void treeinorder(treenode* root);//中序

void treepostorder(treenode* root);//後序

void treelevelorder(treenode* root);//層序

#include

#include

"bin_tree.h"

#include

"seqqueue.h"

//因為層序用到了佇列,所以將前面的佇列**引用進來

#include

#include

treenode* createtreenode(treenodetype value)//建立乙個新的節點

void destroytreenode(treenode* node)

void treeinit(treenode** proot)//初始化

if(*proot ==

null)

*proot =

null;

return;

}

void treepreorder(treenode* root)

//先訪問根結點,再左子樹,再右子樹

printf("%c",root->

data);

treepreorder(root->lchild);

treepreorder(root->rchild);

return;

}void testpreorder()

void treeinorder(treenode* root)

//先遍歷左子樹,再遍歷根節點,最後遍歷右子樹

treeinorder(root->lchild);

printf("%c",root->

data);

treeinorder(root->rchild);

return;

}void testinorder()

void treepostorder(treenode* root)

//先遍歷左子樹,再遍歷右子樹,最後訪問根結點

二叉樹基本操作

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...