当函数返回值为函数结果状态代码时,函数定义为Status类型。
递归查找二叉排序树T中是否存在Key
指针 f 指向 T 的双亲,其初始调用值为NULL
若查找成功,则指针p指向该数据元素结点,并返回TRUE
#include<stdio.h>
typedef struct BiTNode
{
int data;
struct BiTNode *lchild, *rchild;
}BiTNode,*BiTree;
bool SearchBST(BiTree T, int key, BiTree f, BiTree *p)
{
if (!T)
{
*p = f;
return 0;
}
else if (key == T->data)
{
*p = T;
return 1;
}
else if (key < T->data)
{
return SearchBST(T->lchild, key, T, p);
}
else
{
return SearchBST(T->rchild, key, T, p);
}
}
否则指针p指向查找路径上访问的最后一个结点,并返回FALSE