码迷,mamicode.com
首页 > 其他好文 > 详细

二叉查找树的构造

时间:2014-10-22 12:24:03      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:ar   for   sp   数据   on   amp   bs   ef   new   

使二叉树成为二叉查找数的性质是:对于树的每个节点x,它的左子树的所有值小于x项的值,它的右子树的所有值大于x项的值。

怎样构造一棵二叉查找树呢?

首先设置树的数据结构

struct BinaryNode
{
int element;
BinaryNode *left;
BinaryNode *rigth;
BinaryNode(const int &theElement,BinaryNode *lt,BinaryNode *rt)
:element(theElement),left(lt),rigth(rt){}
};

然后用insert函数构造二叉树

void insert(const int &x,BinaryNode *&t)
{
if(t==NULL)
{
t=new BinaryNode(x,NULL,NULL);
}
else if(x<t->element)
{
insert(x,t->left);
}
else if(x>t->element)
{
insert(x,t->rigth);
}
else
;
}

实现例子:

int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
BinaryNode *root=NULL;
for(int i=0;i<10;i++)
{
insert(a[i],root);
}
return 0;

}

 

二叉查找树的构造

标签:ar   for   sp   数据   on   amp   bs   ef   new   

原文地址:http://www.cnblogs.com/biong-blog/p/4042612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!