item是要插入的数据
递归方法如下:
int BSTInsert(BTNode *&root,DataType item)
{
BTNode *p=root,*q=NULL; //q指向p的双亲
while(p!=NULL)
{
q=p;
if(item==p->data) return 0; //item已存在不必插入
if(item<p->data) return (BSTInsert(p->left,item)); //在左子树中查找
else return (BSTInsert(p->right, item)); //在右子树中查找
}
//查找失败,则进行插入操作
if(q==NULL)//空树,item成为根
{
p = new BTNode;
p->data = item;
p->left = NULL;
p->right = NULL;
root=p;
return 1;
}
return 1;//插入成功
}
学习记录如有错误请指出