
算法思想:
- 初始化一个辅助队列
- 根结点入队
- 若队列非空,则队头结点元素出队,访问该结点,并将其左右孩子插入队尾(如果有的话
- 重复③直至队列为空
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); //右孩子入队
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)