Advertisement

数据结构:通过链表实现二叉树的构建

阅读量:

采用链表结构存储二叉树
缺陷:存在指针资源的冗余占用。

二叉树结构体

复制代码
    typedef char TElemType;
    typedef struct BiTree{
    TElemType data;
    struct BiTree *Lchild,*Rchild;
    }*BiTree,BiTNode;
    

每个节点用于存储数据,并包含其左子节点与右子节点对应的数据信息。

二叉树的构建
通过前序遍历的方式输入二叉树结构,对于缺失的节点则以#符号进行补充
需注意传入的参数应为指向指针的指针类型,以此实现对指针值的修改
在C++语言中,也可以采用引用的方式作为替代方案

复制代码
    void Create_Bitree(BiTree *T){ //前序输入
    TElemType data;
    scanf("%c",&data);
    if(data == '#') T = NULL;
    else{
        if(!(*T = (BiTree)malloc(sizeof(BiTNode)))) exit(1);
        (*T)->data = data;
        Create_Bitree(&(*T)->Lchild);
        Create_Bi

全部评论 (0)

还没有任何评论哟~