美文网首页
二叉树的建立

二叉树的建立

作者: 我有一只碗 | 来源:发表于2018-01-29 14:04 被阅读0次
    #include <stdio.h>
    #include <stdlib.h>
    
    
    // 二叉树的二叉链表存储结构
    typedef struct BiNode
    {
        char data;
        struct BiNode *left_child, *right_child;
    } BiNode, *BiTree;
    
    // 建立二叉树
    BiTree create_bitree()
    {
        char c;
        BiTree t;
        scanf("%c", &c);
        // #表示该节点为空
        if (c == '#')
        {
            t = NULL;
        }
        else
        {
            t = (BiTree)malloc(sizeof(BiNode));
            t->data = c;
            // 分别建立左、右子树
            t->left_child = create_bitree();
            t->right_child = create_bitree();
        }
        // 返回根节点
        return t;
    }
    
    // 二叉树的前序遍历
    void pre_traversal(BiTree t)
    {
        if (t == NULL)
        {
            return;
        }
        printf("%c\n", t->data);
        pre_traversal(t->left_child);
        pre_traversal(t->right_child);
    }
    
    int main()
    {
        BiTree root = create_bitree();
        pre_traversal(root);
        return 0;
    }
    

    测试:
    输入:ABC####
    输出:ABC

    相关文章

      网友评论

          本文标题:二叉树的建立

          本文链接:https://www.haomeiwen.com/subject/fnuxzxtx.html