下面算法是完成在二叉排序树T中查找关键值为k的结点,请填空使之完善。二叉排序树的结点类型如下:
//类-PASCAL
TYPE bitreptr=^node;
node=RECORD
data;char;
lchild,rchild;bitreptr
FUNC Search(T,k);bitreptr;{成功时返回指向该结点的指针,否则返回空指针}
IF T=NIL THEN RETURN(NIL)
ELSE IF T^.data=k THEN RETURN(T)
ELSE IF T^.data>k THEN
ELSE ;
ENDF;{Search}
//类-C
typedef struct Node{
char data;
struct Node *lchild,*rchild;
}Node.*Bitree;
Bitree*Search(T,k)//成功时返回指向该
//结点的指针,否则返回空指针
{
if (!T)
return Null;
else if(T->data==k)
return T;
else if(T->data>k) _____,
else ______;
}//Search