#include"tree.cpp" //包含了二叉树的基本算法
/*--------
求二叉树b的结点个数、叶子结点个数
---------*/
//求二叉树b的结点个数
int Nodes(BTNode *b){
int num1,num2;
if(b==NULL)
return 0;
else if(b->lchild==NULL && b->rchild==NULL) //只有根结点
return 1;
else{
num1 = Nodes(b->lchild); //递归遍历左子树
num2 = Nodes(b->rchild); //递归遍历右子树
return(num1+num2+1); //每次递归返回 左结点个数+右结点个数+根结点
}
}
//求二叉树b的叶子结点个数
int LeafNodes(BTNode *b){
int num1,num2;
if(b==NULL)
return 0;
else if(b->lchild==NULL && b->rchild==NULL)
return 1;
else{
num1 = Nodes(b->lchild); //递归遍历左子树
num2 = Nodes(b->rchild); //递归遍历右子树
return(num1+num2); //每次递归返回 左叶结点个数+右叶结点个数
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)