发布时间 : 星期四 文章2013年江西省数据结构理论与实践高级更新完毕开始阅读b55606359e314332396893ef
else error(“输入错误”); return(bt); }//结束 BiTree
int JudgeComplete(BiTree bt) //判断二叉树是否是完全二叉树,如是,返回1,否则,返回0
{int tag=0; BiTree p=bt, Q[]; // Q是队列,元素是二叉树结点指针,容量足够大 if(p==null) return (1);
QueueInit(Q); QueueIn(Q,p); //初始化队列,根结点指针入队 while (!QueueEmpty(Q))
{p=QueueOut(Q); // if (p->lchild && !tag) QueueIn(Q,p->lchild); // else {if (p->lchild) return 0; // else tag=1; // if (p->rchild && !tag) QueueIn(Q,p->rchild); // else if (p->rchild) return 0; else tag=1; } //while
return 1; } //JudgeComplete
出队
左子女入队
前边已有结点为空,本结点不空 首次出现结点为空 右子女入队