public void DeleteNode(N node) { if (Compare(node.Key, Minimum) < 0 || Compare(node.Key, Maximum) > 0) { return; } _redBlackTree.DeleteNode(node); }
public bool Remove(KeyValuePair <K, V> item) { N node = _redBlackTree.Find(item.Key); if (node == null) { return(false); } if (ReferenceEquals(node.Value, null)) { if (!ReferenceEquals(item.Value, null)) { return(false); } } else if (!node.Value.Equals(item.Value)) { return(false); } _redBlackTree.DeleteNode(node); return(true); }