RBNode <T> MoveRedRight(RBNode <T> node) { node.ColorFlip(); if (IsNodeRed(node.LeftChild.LeftChild)) { node = node.RotateRight(); node.ColorFlip(); } return(node); }
// Token: 0x060076A2 RID: 30370 RVA: 0x0021E8B7 File Offset: 0x0021CAB7 private RBNode <T> MoveRedLeft(RBNode <T> node) { node.ColorFlip(); if (this.IsNodeRed(node.RightChild.LeftChild)) { node.RightChild = node.RightChild.RotateRight(); node = node.RotateLeft(); node.ColorFlip(); } return(node); }
RBNode <T> Fixup(RBNode <T> node) { if (!IsNodeRed(node.LeftChild) && IsNodeRed(node.RightChild)) { node = node.RotateLeft(); } if (IsNodeRed(node.LeftChild) && IsNodeRed(node.LeftChild.LeftChild)) { node = node.RotateRight(); } if (IsNodeRed(node.LeftChild) && IsNodeRed(node.RightChild)) { node.ColorFlip(); } return(node); }