void LevelOrder(BTree T, int cnt)
{
BTree level = malloc(sizeof(struct BTNode)*cnt);
if(level==NULL) return;
int i=0,rear=0;
if(cnt==0) return;
for(i=0; i<cnt; i++){
printf("%c ",T[i].data);
if(T[i].lchild) level[rear++]=*T[i].lchild;
if(T[i].rchild) level[rear++]=*T[i].rchild;
}
printf("\n");
LevelOrder(level, rear);
free(level);
}
main()函数中调用LevelOrder(T,1)
本文介绍了一种二叉树的层次遍历算法,并通过递归方式实现了该算法。主要功能是按层次打印二叉树的节点数据。

被折叠的 条评论
为什么被折叠?



