public ActiveNode(T data, ActiveParentNode <T> up, NormalNode <T> left, NormalNode <T> right) : base(data) { this.Up = up; this.Left = left; this.Right = right; }
public override ActiveNode <T> RecreateAsActive(NormalNode <T> secondChild) { return(new ActiveNode <T>(this.Data, this.Up, secondChild, this.Right)); }
public ActiveParentRightNode(T data, ActiveParentNode <T> up, NormalNode <T> right) : base(data, up) { this.Right = right; }
public ActiveParentLeftNode(T data, ActiveParentNode <T> up, NormalNode <T> left) : base(data, up) { this.Left = left; }
public abstract ActiveNode <T> RecreateAsActive(NormalNode <T> secondChild);
public NormalNode(T data, NormalNode <T> left, NormalNode <T> right) : base(data) { this.Left = left; this.Right = right; }