二叉樹的基本操作

2021-09-02 02:56:13 字數 1378 閱讀 5538

#include

using namespace std;

/*定義二叉樹的資料結構

*/ int maxsize = 100;

typedef struct node*bittree,bitnode;

//宣告與二叉樹相關的操作函式

//1.初始化二叉樹

void initbittree(bittree &t);

//2.建立二叉樹的操作

void createbittree(bittree &t);

//3.先序遍歷二叉樹

void preorderbittree(bittree &t);

//4.中序遍歷二叉樹

void inorderbittree(bittree &t);

// 5.後序遍歷二叉樹

void postorderbittree(bittree &t);

//6.二叉樹的層次遍歷

void levelorderbittree(bittree &t);

//8.返回二叉樹的葉子節點的個數

int leafnum(bittree &t);

//7.求二叉樹的高度

int bittreedepth(bittree &t);

//1.初始化二叉樹

void initbittree(bittree &t)

//2.建立二叉樹的操作

void createbittree(bittree &t)

else

t->data = ch;

createbittree(t->lchild);

createbittree(t->rchild);

}

}//3.先序遍歷二叉樹,採用非遞迴的方式遍歷二叉樹

void preorderbittree(bittree &t)

if(top>0)

}cout<0)

if(top>0)

}cout<0)

if(top>0)else

}

}coutif(p->lchild!=null)

if(p->rchild!=null)

}coutrchild))

return 1;

else

return leafnum(t->lchild)+leafnum(t->rchild);

}//7.求二叉樹的高度

int bittreedepth(bittree &t)

int main()

二叉樹基本操作

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