编程论坛
注册
登录
编程论坛
→
数据结构与算法
怎么求二叉树每层上的节点数?
zx19880402
发布于 2010-07-04 17:42, 1200 次点击
如题,原理我明白,就是代码出不来,望高手不吝赐教!
3 回复
#2
zx19880402
2010-07-05 23:32
这就沉了?高手的没有?
#3
2010-07-06 06:47
我想,你还不算懂原理。
程序代码:
void
levelorder(BiTree T)
{
BiTree Queue[maxsize],p;
int
front,rear,last,first,level;
front=rear=first=
0
;
last=level=
1
;
if
(T)
{
Queue[rear++]=T;
while
(front<rear)
{
p=Queue[front++];
if
(p->lchild)
Queue[rear++]=p->lchild;
if
(p->rchild)
Queue[rear++]=p->rchild;
if
(front==last)
{
printf(
"
level%2d:%d\n
"
,level,last-first);
level++;
last=rear;
first=front;
}
}
}
else
printf(
"
None
"
);
}
[
本帖最后由 LegendofMine 于 2010-7-6 06:56 编辑
]
#4
zx19880402
2010-07-06 17:03
回复 3楼 LegendofMine
恩 刚学没多久 谢谢啦
1