二叉树——按层次顺序遍历(队列实现)

通过队列就可以方便的将同一层的节点连续地存放在一起

static LinkQueue Q ;     //定义一个队列
void levelTraverse(BiTree T){
    BiTree e;
    if(T){
        EnQueue(Q,T);      //入队列
        while(Q.front != Q.rear){
            DeQueue(Q,e);   //出队列
            cout << e->data<<" ";
            if(e->lchild) EnQueue(Q,e->lchild);
            if(e->rchild) EnQueue(Q,e->rchild);
        }
    }
}

 

posted @ 2020-11-24 21:31  倔强的不死人  阅读(752)  评论(0编辑  收藏  举报