二叉树层序遍历算法

 

二叉树层序遍历算法:

  void LevelOrderTraverse(BiTree T,Status(*Visit)(TElemType)) { /* 采用二叉链表存储结构,Visit是对数据元素操作的应用函数。*/ /* 层序遍历二叉树T算法(利用队列),对每个数据元素调用函数Visit */ SqQueue q; QElemType p; if(T) { InitQueue(&q); EnQueue(&q,T); while(!QueueEmpty(q)) { DeQueue(&q,&p); Visit(p->data); if(p->lchild!=NULL) EnQueue(&q,p->lchild); if(p->rchild!=NULL) EnQueue(&q,p->rchild); } printf("/n"); } }

你可能感兴趣的:(二叉树层序遍历算法)