二叉树——统计每层节点个数

static int w =0;                //统计每层节点个数,从而找出最大层数
static int Wid[10]={0};
void Width(BiTree T){
    if(T == NULL) return;
    else
    {
        w++;
        Wid[w]++;
        Width(T->lchild);
        if(T->lchild) w--;     //如果子节点为空的话,不会跳到下一层,w就不会+1,所以从空节点返回不用-1
        Width(T->rchild);       //也可以在为空时w++再返回,这样的话就不论子节点是否为空,都要w--
        if(T->rchild) w--;
    }
}

 

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