查找的方式
-基于数据元素值的查找
·BTreeNode<T>* find(const T& value) const
-基于结点的查找
·BTreeNode<T>* find(TreeNode<T>* node) const
基于数据元素值的查找
-定义功能:find(node,vlaue)
·在node为根结点的二叉树中查找value所在结点
virtual BTreeNode<T>* find(BTreeNode<T>* node,const T& value)const
{
BTreeNode<T>* ret = NULL;
if(node != NULL)
{
if(node->value == value)
{
ret = node;
}
else
{
if(ret == NULL)
{
ret = find(node->left,value);
}
if(ret == NULL)
{
ret = find(node->right,value);
}
}
}
return ret;
}
基于结点的查找
-定义功能:find(node,obj)
·在node为根节点的二叉树中查找是否存在obj的结点
virtual BTreeNode<T>* find(BTreeNode<T>* node,BTreeNode<T>* obj)const
{
BTreeNode<T>* ret = NULL;
if(node == obj)
{
ret = node;
}
else
{
if(node != NULL)
{
if(ret == NULL)
{
ret = find(node->left,obj);
}
if(ret == NULL)
{
ret = find(node->right,obj);
}
}
}
return ret;
}