二叉排序树的构造

存储结构

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++;
	}
}

上一篇:第五章学习小结


下一篇:《Essential C++》系列笔记之第一章(C++编程基础)之第三节(撰写表达式)