文章转载 > http://blog.chinaunix.net/uid-24948645-id-3913917.html
1、LL型调整
void R_Rotate(BiTree *p)
{
BiTree l;
L=(*p)->lchild;
(*p)->lchild = L-rchild;
L->rchild = (*p);
*p = L;
}
2、RR型调整
void L_Rotate(BiTree *p)
{
BiTree R;
R=(*p)->rchild;
(*p)->rchild = L-lchild;
R->lchild = (*p);
*p = R;
}
3、LR型调整
void LR_Rotate(BiTree * p)
{
BiTree L;
L = (*p)->lchild;
R_Rotate(&L);
L_Rotate(p);
}
4、RL型调整
void RL_Rotate(BiTree * p)
{
BiTree R;
R = (*p)->rchild;
L_Rotate(&R);
R_Rotate(p);
}