int num(BiTreeNode *t,int i,int *max)
//求出二叉树的最大编号m
//t为二叉树的根结点指针,i为根结点编号,m为当前结点的最大编号
{
if(t==NULL)return 0;
if(*maxleftChild,2*i+1,max)+num(t->rightChild,2*i+2,max))...int num(BiTreeNode *t,int i,int *max)
//求出二叉树的最大编号m
//t为二叉树的根结点指针,i为根结点编号,m为当前结点的最大编号
{
if(t==NULL)return 0;
if(*maxleftChild,2*i+1,max)+num(t->rightChild,2*i+2,max));
}
int checkTree(BiTreeNode *t)
//判断二叉树t是否为完全二叉树,是返回1,否则返回0
{
int n,maxno=0;
n=num(t,0,&maxno); //求出二叉树t的最大编号 maxno
if(n-1==maxno)
return 1;
else
return 0;
}
能帮我完成吗?展开 |
|