![](https://csdnimg.cn/release/download_crawler_static/88039806/bg5.jpg)
RedBlackNode *RBMaximum(RBTree *T) //返回红黑树局部最大值
{
RedBlackNode *curNode, *targetNode;
curNode=*T;
targetNode=NULL;
if(curNode!=NULL)
{
targetNode=curNode;
curNode=curNode->right;
}
return targetNode;
}
RedBlackNode *RBpioneer(RedBlackNode *T) //返回 T 的前驱
{
RedBlackNode *targetNode;
RedBlackNode *P;
P=NULL;
if(T==NULL)
{
return P;
}
if(T->left!=NULL)
{
targetNode=RBMaximum(&(T->left));
}
else
{
while(T->parent!=NULL&&T->parent->right!=T)
{
T=T->parent;
}
targetNode=T->parent;
}
return targetNode;
}
RedBlackNode *RBsucceed(RedBlackNode *T) //后继节点
{
RedBlackNode *targetNode;
RedBlackNode *P;
P=NULL;
if(T==NULL)