二叉查找树的构造
使二叉樹成為二叉查找數的性質是:對于樹的每個節點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;
}
?
轉載于:https://www.cnblogs.com/biong-blog/p/4042612.html
總結
- 上一篇: PHP vs Node.js vs Ng
- 下一篇: 小程序支付成功后跳转页面失败