这个算法正确吗?
//1代表是,0不是
typedef struct node
{
int key;
InfoType other;
struct node *left,*right;
}BiNode,*BiTree;
int BSTVerify(BiTree t)
{
int ret;
if(t==null)
{
return 1;
}
ret=BSTVerify(t->left);
if(ret==1)
{
ret=BSTVerify(t->right);
if(ret==1)
{
if(t->left==null)
{
leftKey=MIN;//计算机所能表示的最小值
}
else
{
leftKey=t->left->key;
}
if(t->right==null)
{
rightKey=MAX;//计算机所能表示的最大值
}
else
{
rightKey=t->right->key;
}
if(leftKey<t->key<rightKey)
{
return 1;
}
}
}
return 0;
}

