public RBNode(RBNode <T> parentNode, T o, int key, Color color) { Key = key; mainObject = o; Parent = parentNode; LeftBranch = new RBNode <T>(); RightBranch = new RBNode <T>(); NodeColor = color; }
private Color CalculateColor(RBNode <T> node) { //у ноды имеющей красный цвет, потомки будут черные if (node.NodeColor == Color.Red) { return(Color.Black); } //у ноды имеющей черный цвет, потомки могут быть и красные и черные else { return(Color.Red); //пока цвет будет красный } }
public RBTree(T obj) { rootNode = new RBNode <T>(null, obj, NodeCount++, Color.Black); }