1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| 红黑树插入后调整
void RBInsertFixUp(Tree t,Node z){ while(z.parent.color == RED){ if(z.parent == z.parent.parent.left){ TreeNode y = z.parent.parent.right; if(y.color == RED){ z.parent.color = BLACK; y.color = BLACK; z.parent.parent.color = RED; z = z.parent.parent; }else if(z == z.parent.right){ z = z.parent; leftRotate(t,z); z.parent.color = BLACK; z.parent.parent.color = RED; rightRotate(t,z.parent.parent); } }else{ } } t.root.color = BLACK;
}
|