层次遍历建树

bitree *creatbintree(){//层次建树
    bitree *T;
    int c;
    queue<bitree*> q;
    scanf("%d",&c);
    if(c==0){
        return NULL;
    }
    T=(bitree*)malloc(sizeof(bitree));
    T->data=c;
    q.push(T);
    while(q.empty()==false){
        bitree *T=q.front();
        q.pop();
        scanf("%d",&c);
        if(c==0){
            T->lchild=NULL;
        }
        else{
            bitree *p=(bitree*)malloc(sizeof(bitree));
            p->data=c;
            T->lchild=p;
            q.push(p);
        }
        scanf("%d",&c);
        if(c==0){
            T->rchild=NULL;
        }
        else{
            bitree *p=(bitree*)malloc(sizeof(bitree));
            p->data=c;
            T->rchild=p;
            q.push(p);
        }
    }
    return T;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容