完全二叉树
某节点没有左孩子,则一定无右孩子。
若某节点缺左或右孩子,则其所有后继一定无孩子。
判断一棵二叉树是否为完全二叉树
int CompBTNode(BTNode *b)
{
BTNode *Qu[MaxSize],*p;
int front=0,rear=0;
int cm=1;
int bj=1;
if(b!= NULL)
{
rear++;
Qu[rear]=b;
while(front != rear)
{
front++;
p=Qu[front];
if(p->lchild == NULL)
{
bj = 0;
if(p->rchild != NULL)
cm = 0;
}
else
{
if(bj == 1)
{
rear++;
Qu[rear] = p->lchild;
if(p->rchild == NULL)
bj = 0;
else
{
rear++;
Qu[rear]= p->rchild;
}
}
else
cm = 0;
}
}
return cm;
}
return 1;
}