public static RBTree.Node LastNode(this RBTree.Node node) { if (node == null) { return(null); } while (node.right != null) { node = node.right; } return(node); }
public static RBTree.Node FirstNode(this RBTree.Node node) { if (node == null) { return(null); } while (node.left != null) { node = node.left; } return(node); }
public int Compare(TKey key, RBTree.Node node) { return(cmp.Compare(key, ((Node)node).key)); }
public override void SwapValue(RBTree.Node other) { Node o = (Node)other; TKey k = key; key = o.key; o.key = k; TValue v = value; value = o.value; o.value = v; }