一棵二叉树采用二叉链表存储结构,试判断该二叉树是否为完全二叉树(这里采用层次遍历的方法)
int isCompleteBinaryTree(BTNode *p)
{
BTNode *queue[maxsize];BTNode *p;
int front=0,rear=0;
int flag=0;
if(p==NULL)
return 1;
else{
rear=(rear+1)%maxsize;
queue[rear]=p;
while(front!=rear)
{
front=(front+1)%maxsize;
q=queue[front];
if(q==NULL)
flag=1;
else if(flag==1)
return 0;
else
{
rear=(rear+1)%maxsize;
queue[rear]=p->lchild;
rear=(rear+1)%maxsize;
queue[rear]=p->rchild;
}
}
}
}