二叉树的层次遍历
程序员文章站
2022-06-05 19:29:11
...
引用于:https://blog.csdn.net/hansionz/article/details/81947834
层次遍历
代码实现
void BinaryTreeLevelOrder(BTNode* root)
{
Queue q;
//树为空,直接返回
if (root == NULL)
{
return;
}
QueueInit(&q);
//先将根节点入队
QueuePush(&q, root);
while (!QueueEmpty(&q))
{
//出队保存队头并访问
BTNode* front = QueueFront(&q);
printf("%c", front->_data);
QueuePop(&q);
//将出队结点的左子树根入队
if (front->_left)
QueuePush(&q, front->_left);
//将出队结点的右子树根入队
if (front->_right)
QueuePush(&q, front->_right);
}
}