二叉树的层次遍历
算法思想:
1.将根节点入队
2.队列不为空,一直循环,从队列取出一个节点*p,访问
来源于青岛大学王卓
void bTreeLevelOrder(Node* root)
{
//借助队列保存节点
Queue q;
initQueue(&q);
if (root)
{
queuePush(&q,root);
}
while (!isEmpty())
{
Node* front = queuefront(&q);
queuePop(&q);
//访问节点
printf("%d", front->data);
if (front->left)
queuePush(&q, front->left);
if (front->right)
queuePush(&q, front->right);
}
printf("\n");
}
感谢王卓老师。