二叉排序树

#include <stdio.h>
#include <string.h>
#include <stdlib.h>


typedef struct binary_sort_Tree{
    int data;
    struct binary_sort_Tree *left,*right;
}BSTNode;

BSTNode *insertBST(BSTNode *root,int num)
{
    if(NULL == root)
    {
        root = (BSTNode *)malloc(sizeof(BSTNode));
        root->data = num;
        root->right = NULL;
        root->left = NULL;
    }else{
        if(num < root->data)
        {
            root->left = insertBST(root->left,num);
        }else{
            root->right = insertBST(root->right,num);
        }
    }
    return root;
}


BSTNode *create(BSTNode *root)
{
    int num;
    while(scanf("%d",&num))
    {
        root = insertBST(root,num);
    }
    return root;
}

void visit(BSTNode *root)
{
    if(NULL == root) return ;
    visit(root->left);
    printf(" %d",root->data);
    visit(root->right);
}


int main()
{
    BSTNode *root = NULL;
    root = create(root);
    visit(root);
    return 0;
}

最后


如果你觉得写的还不错,就关注下公众号呗,关注后,有点小礼物回赠给你。
你可以获得5000+电子书,java,springCloud,adroid,python等各种视频教程,IT类经典书籍,各种软件的安装及破解教程。
希望一块学习,一块进步!

posted @ 2015-11-16 13:59  方家小白  阅读(21)  评论(0编辑  收藏  举报