使用递归方式计算顺序统计量树中元素x的秩:
int Rank(BRTreeNode* x)
{
BRTreeNode*p=x;
int r=x->left->size+1;
if(p==root)
return r;
else if(p==p->parent->right)
{
return Rank(p->parent)+r;
}
return r;
}
使用递归方式计算顺序统计量树中元素x的秩:
int Rank(BRTreeNode* x)
{
BRTreeNode*p=x;
int r=x->left->size+1;
if(p==root)
return r;
else if(p==p->parent->right)
{
return Rank(p->parent)+r;
}
return r;
}