二叉排序树究竟是什么??
本人处于C学习阶段,最近在学习二叉查找树,一直弄不懂这个是不是需要基于已有的树....越看越迷茫,索性谢了一段求修改或者给点相关材料研究一下也行#include <stdio.h>
#include <stdlib.h>
typedef struct BSTNode
{
int elem;
struct BSTNode *Lchild;
struct BSTNode *Rchild;
}Node;
void BST_Insert(Node *T,int x)
{
T=(Node*)malloc(sizeof(Node));
if(T==NULL)
{
T->elem=x;
T->Lchild=NULL;
T->Rchild=NULL;
}
else if(T!=NULL&&T->elem>=x)
BST_Insert(T->Lchild,x);
else if(T!=NULL&&T->elem<x)
BST_Insert(T->Rchild,x);
else
printf("ERROR!!!\n");
}
void BST_Create(Node *T,int array[],int size)
{
int i;
for(i=0;i<size;i++)
{
BST_Insert(T,array[i]);
printf("%d;",T->elem);
}
}
void main()
{
int i;
int size=5;
int array[5]={1,2,3,4,5};
Node *T;
T=(Node*)malloc(sizeof(Node));
T=NULL;
//printf("input the size of the array:");
//scanf("%d",&size);
for(i=0;i<size;i++)
{
printf("Input the No. %d elem:",i);
scanf("%d",&array[i]);
}
BST_Create(T,array,size);
free(T);
}
先谢谢了~