您的位置:首页 > 编程语言 > C语言/C++

二叉树按层遍历打印的算法(c/c++)

2016-10-30 16:15 183 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息