#include<iostream>
using namespace std;
struct Ertree
{
char name;
Ertree *left;
Ertree *right;
};
void SumErtree(Ertree *tree, int &n);
void CreatTree();
void main()
{
CreatTree();
}
int SumErtree(Ertree *tree)//遍历节点
{
if (tree == NULL)
{
return 0;
}
int depth=0;
int leftheight = SumErtree(tree->left);
int rightheight = SumErtree(tree->right);
depth = leftheight > rightheight ? leftheight + 1 : rightheight + 1;
return depth;
}
void CreatTree()//创建节点
{
Ertree treeA = { 'A',NULL,NULL };
Ertree treeB = { 'B',NULL,NULL };
Ertree treeC = { 'C',NULL,NULL };
Ertree treeD = { 'D',NULL,NULL };
Ertree treeE = { 'E',NULL,NULL };
Ertree treeF = { 'F',NULL,NULL };
Ertree treeG = { 'G',NULL,NULL };
Ertree treeH = { 'H',NULL,NULL };
Ertree treeJ = { 'J',NULL,NULL };
Ertree treeK = { 'K',NULL,NULL };
treeA.left = &treeF;
treeA.right = &treeK;
treeF.left = &treeD;
treeF.right = &treeE;
treeD.left = &treeC;
treeD.right = &treeB;
treeK.right = &treeJ;
treeJ.left = &treeH;
treeJ.right = &treeG;
int n= SumErtree(&treeA);
cout << "二叉树高度:" << n << endl;
}
求二叉树高度
最新推荐文章于 2022-03-13 20:59:39 发布