int overlapCount(pRBT root,KT i)
{
pRBT x=root;
int sum=0;
if(!isOverlap(x->key,i) && x->max<i->low)
return 0;
else if(isOverlap(x->key,i))
{
sum++;
if(x->left)
sum+=overlapCount(x->left,i);
if(x->right)
sum+=overlapCount(x->right,i);
}
else
{
if(x->key->high<i->low)
sum+=overlapCount(x->right,i);
if(x->key->low>i->high)
sum+=overlapCount(x->left,i);
}
return sum;
}
算法导论 练习题 14.3-4
最新推荐文章于 2022-09-14 21:56:24 发布