TreeNode *bstInsert(TreeNode *root,int data)//可以从0开始构造。
{
if(root==NULL)
{
TreeNode *r=new TreeNode(data);
return r;
}
else
{
if(data<root->val)
root->left=bstInsert(root->left,data);
else
root->right=bstInsert(root->right,data);
return root;
}
}
void bst(TreeNode *root,int key)<span style="color:#ff0000;">//默认至少有一个root点.!!!</span>
{
if(root)
{
if(key<root->val)
{
if(root->left==NULL)
{
root->left=new TreeNode(key);
return;
}
else
bst(root->left,key);
}
else
{
if(root->right==NULL)
{
root->right=new TreeNode(key);
return;
}
else
bst(root->right,key);
}
}
return;
}
bool bstSearch(TreeNode *root,int key)
{
if(root==NULL)
return false;
else
{
if (root->val==key)
return true;
else if(key<root->val)
return bstSearch(root->left,key);
else
return bstSearch(root->right,key);
}
}
BST
最新推荐文章于 2024-06-12 14:17:21 发布