完全二叉树(包括满二叉树 )
 
利用层序遍历,当取顶取到空的时候(这个时候取的这一层的所有节点是一定在队列里面的),就结束入队,然后判断他的后面的节点是否都为空

 这里重点还是要理解二叉树的层序遍历,如果看不懂就去看上一章写的二叉树的层序遍历
int BinaryTreeComplete(BTNode* root)
{
	Queue L;//定义一个队列的变量
	QueueInit(&L);//初始化队列
	if (root)
	{
		QueuePush(&L, root);//把根节点的指针存入到队列中
	}
	while (!QueueEmpty(&L))
	{
		BTNode* front = QueueFront(&L);//把队列的头元素去出来,定义一个变量接收
		if (front == NULL)
		{
			break;
		}
		QueueBack(&L);
		QueuePush(&L, front->left);
		QueuePush(&L, front->right);
	}
	while (!QueueEmpty(&L))
	{
		BTNode* front = QueueFront(&L);//把队列的头元素去出来,定义一个变量接收
		QueueBack(&L);
		if (front != NULL)//判断后面的节点是否都为空
		{
			return false;
		}
	}
	return true;
}



















