存储结构
typedef struct BSTNode{
ElemType data;
Struct *lchild,*rchild;
}BSTNode,*BSTree;
插入
//二叉排序树的创建
int BST_Insert(BiTree &T,ElemType k)
{
if(T==NULL)
{
T=(BiTree)malloc(sizeof(BSTNode));
T->data=k;
T->lchild=T->rchild=NULL;
return 1;
}
else if(T->data==k)
return 0;
else if(k<T->data)
{
return BST_Insert(T->lchild,k);
}
else
return BST_Insert(T->rchild,k);
}
void Creat(BiTree &T,KeyType str[],int n)
{
T=NULL;
int i=0;
while(i<n)
{
BST_Insert(T,str[i]);
i++;
}
}