public void Insert(int value) { if (value <= Data) { if (Left != null) { Left.Insert(value); } else { Left = new RandomNodeBST(value); } } else { if (Right != null) { Right.Insert(value); } else { Right = new RandomNodeBST(value); } } updateSize(); }
public void Insert(int value) { if (Root == null) { Root = new RandomNodeBST(value); } else { Root.Insert(value); } }
public bool Remove(int value) { if (Root == null) { return(false); } if (Root.Data == value) { Root = null; return(true); } else { return(Root.RemoveChild(value)); } }
public bool RemoveChild(int value) { bool result = false; if (value < Data) { if (Left != null) { if (Left.Data == value) { Left = null; result = true; } else { result = Left.RemoveChild(value); } } else { result = false; } } else { if (Right != null) { if (Right.Data == value) { Right = null; result = true; } else { result = Right.RemoveChild(value); } } else { result = false; } } updateSize(); return(result); }