二叉树的初始化,以及遍历

参考以下链接:博主:

Landpack


https://www.baidu.com/link?url=chlFiQeDE-5yQno8EmpElsiryXEv8QgQd8_21E4UIYbq-g7WH_vKmyNKFPiHXtd4SZa_WZwzeT1WGLK_W_7-cK&wd=&eqid=8288c77500015031000000035b2b66a7

下面是我参考上面的理解:

#include  

#include  

struct binary_tree {  //定义结构体 

    int data    ;   // Data area

    struct binary_tree * left;

    struct binary_tree * right;

};

typedef struct binary_tree node; //定义结点 

void insert(node ** tree, int val) { //插入数据 

    node * temp = NULL;//临时变量 

    

二叉树的初始化,以及遍历

二叉树的初始化,以及遍历
 

if(!(*tree)) {// 树节点是否存在

        temp = (node *)malloc(sizeof(node));//申请空间 

        temp->left = temp->right = NULL;

        temp->data = val;

        *tree = temp;//每次从根结点开始, 

        return ;

    }

    

    if (val < (*tree)->data) {

        insert(&(*tree)->left,val);

    }else if (val > (*tree)->data) {

        insert(&(*tree)->right,val);

    }

}

void deltree(node * tree) {

    if(tree) {

        deltree(tree->left);

        deltree(tree->right);

        free(tree);

    }

}

void print_preorder(node * tree) {

    if(tree) {

        printf("%d\n",tree->data);

        print_preorder(tree->left);

        print_preorder(tree->right);

    }

}

void print_inorder(node * tree) {

    if(tree) {

        print_inorder(tree->left);

        printf("%d\n",tree->data);

        print_inorder(tree->right);

    }

}

void print_postorder(node * tree) {

    if(tree) {

        print_postorder(tree->left);

        print_postorder(tree->right);

        printf("%d\n",tree->data);

    }

}

int main(void)

{

    node * root;

    node * tmp;

    //int i;

    root = NULL;

   

    insert(&root,9);

    insert(&root,4);

    insert(&root,15);

    insert(&root,6);

    insert(&root,12);

    insert(&root,17);

    insert(&root,2);

    printf("Pre Order Display\n");

    print_preorder(root);

    printf("In Order Display\n");

    print_inorder(root);

    printf("Post Order Display\n");

    print_postorder(root);

   

    deltree(root);

}

  

  二叉树的初始化,以及遍历

  

猜你喜欢

转载自blog.csdn.net/ganghaodream/article/details/88092275
今日推荐