算法题
请提供一个函数实现二叉排序树的查找功能。
二叉排序树的定义:
二叉排序树又称二叉查找树,它或者是一棵空树,或者是具有如下性质的二叉树:
1、 若它的左子树非空,则左子树上所有结点的值均小于根结点的值;
2、 若它的右子树非空,则右子树上所有结点的值均大于或等于根结点的值;
3、 左右子树本身就是两棵二叉排序树。
节点的结构定义如下:
typedef struct tagNode
{
int iKey; ///结点的键值
struct tagNode *pLChild; ///左子树的指针
struct tagNode *pRChild; ///右子树的指针
}NODE, *PNODE;
函数定义如下:
PNODE SearchTree(PNODE pRoot, int iKey, PNODE &pFather);