计算二叉树某任意一层的节点数
给出算法或者思路都可以,我实在不知道怎么判定同层元素啊.
解决了,写得我头大,总体思想就是,先用层次顺序时节点进入队里,然后在队里从前往后遍历,具体看下面:
intjiedian1(bitree*c,ints)
{
inti[100];
intk=0;
intz;
intaa;
bitree*d[100];
inttop;
inttail;
top=0;
tail=0;
d[tail]=c;
d[top]=d[tail];
while(d[top])
{
if(c->lchild)
{
c=d[top];
tail=tail+1;
d[tail]=c->lchild;
}
if(c->rchild)
{
c=d[top];
tail=tail+1;
d[tail]=c->rchild;
}
top=top+1;
if(taillchild!=d[k])&&(d[top]->rchild)!=d[k]);k++)
{
i[z]=i[z]+1;
if(k==tail+1)
break;
}
i[z]=i[z]+aa;
if((d[k-1]->lchild==NULL)&&(d[k-1]->rchild==NULL))
{
top=top+1;
k=top;
aa=aa+1;
}
else
{
top=k;
z=z+1;
aa=0;
}
}
if(s>z+1)
return0;
for(z=0;z