您的位置:首页 > 其它

二叉排序树

2015-11-16 13:58 176 查看
#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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: