C++輔導(dǎo):二叉樹-C

字號:

/*2Tree的基本操作*/
    #include
    struct tree
    {
    int data;
    struct tree *left;
    struct tree *right;
    };
    typedef struct tree treenode;
    typedef treenode *b_tree;
    b_tree creat()
    {
    char ch;
    b_tree newnode;
    ch=getchar();
    if (ch==’ ’) return(NULL);
    else
    { newnode=(b_tree)malloc(sizeof(treenode));
    newnode->data=ch;
    newnode->left=creat(newnode);
    newnode->right=creat(newnode);
    }
    return newnode;
    }
    void front_print(b_tree root)
    {
    if(root!=NULL)
    {
    printf("[%c]",root->data);
    front_print(root->left);
    front_print(root->right);
    }
    }
    void middle_print(b_tree root)
    {
    if(root!=NULL)
    {
    middle_print(root->left);
    printf("[%c]",root->data);
    middle_print(root->right);
    }
    }