C语言实现二叉树的层次遍历

C语言实现二叉树的层次遍历,第1张


算法思想:

  1. 初始化一个辅助队列
  2. 根结点入队
  3. 若队列非空,则队头结点元素出队,访问该结点,并将其左右孩子插入队尾(如果有的话
  4. 重复③直至队列为空
void LevelOrder(BiTree T){
	LinkQueue Q;
	InitQueue(Q);  //初始化辅助队列
	BiTree p;
	EnQueue(Q,T); //将根结点入队
	while(!IsEmpty(Q)){ //队列不空则循环
		DeQueue(Q,p); //队头节点出队
		visit(p); //访问出队结点
		if(p->lchild!=NULL){
			EnQueue(Q,p->lchild); //左孩子入队
		}
		if(p->rchild!=NULL){
			EnQueue(Q,p->rchild); //右孩子入队
		}
	}
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/673631.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-19
下一篇2022-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存