typedef struct Bitnode{
int data;
struct Bitnode *lchild;
struct Bitnode *rchild;
}Bitnode,*BiTree;
//非递归查找
BiTree BST_search(BiTree T,int key)
{
while(T!=NULL&&key!=T->data)
{
if(key<T->data)
T = T->lchild;
else
T = T->rchild;
}
return T;
}
//递归查找
BiTree search(BiTree T, int key) {
// 如果根节点为空或者根节点的值等于要搜索的值,则返回根节点
if (T == NULL || T->data == key) {
return T;
}
// 如果要搜索的值小于根节点的值,则在左子树中搜索
if (key < T->data) {
return search(T->lchild, key);
}
// 如果要搜索的值大于根节点的值,则在右子树中搜索
return search(T->rchild, key);
}
二叉排序树的查找
最新推荐文章于 2024-07-24 19:35:30 发布