void level_breath(TNode* T)
{
Queue Q;
InitQueue(Q);
TNode* p=T;
int level=0;
int last=1;
int a[MaxSize];
for(int i=0;i<MaxSize;i++)
{
a[i]=0;
}
if(T!=NULL)
{
EnQueue(Q,p);
while(!QueueEmpty(Q))
{
DeQueue(Q,p);//操作隊頭
if(Q.fron!=last+1)
{
a[level]++;
}
if(p->lchild!=NULL)
EnQueue(Q,p->lchild);
if(p->rchild!=NULL)
EnQueue(Q,p->rchild);
if(Q.fron==last)
{
level++;
last=Q.rear;
}
}
}
int Max=a[0];
for(int i=1;i<level;i++)
{
if(a[i]>Max)
Max=a[i];
}
printf("%d",Max);
}