右旋
//P为根节点;L为左子树根节点;
void R_rotate(TreeNode P)
{
TreeNode L=P.left;//L是旋转后新的根节点,最终L的右子树指向原节点P;
P.left=L.right;//L的原右子树作为P的左子树
L.right=P;//L的右子树指向原节点P;
P=L;//P指向新的根节点。
}
右旋
//P为根节点;L为左子树根节点;
void R_rotate(TreeNode P)
{
TreeNode L=P.left;//L是旋转后新的根节点,最终L的右子树指向原节点P;
P.left=L.right;//L的原右子树作为P的左子树
L.right=P;//L的右子树指向原节点P;
P=L;//P指向新的根节点。
}
相关文章: