diff --git a/C#/Datastructures/BinaryTree/Tree.cs b/C#/Datastructures/BinaryTree/Tree.cs index d9a2c9a..f6fde0f 100644 --- a/C#/Datastructures/BinaryTree/Tree.cs +++ b/C#/Datastructures/BinaryTree/Tree.cs @@ -100,9 +100,10 @@ namespace C_.Datastructures.BinaryTree if (node.Value!.CompareTo(parent!.Value) < 0) {//Item being deleted is the left child parent.Left = default; + }else{ + //Item being deleted is the right value + parent.Right = default; } - //Item being deleted is the right value - parent.Right = default; } Count--; return true; @@ -214,6 +215,14 @@ namespace C_.Datastructures.BinaryTree return current; } return node; + } + + private void ReplaceChild(TreeNode parent, TreeNode? replacement){ + if (parent.Value!.CompareTo(replacement!.Value) < 0) + {//Append to left side + parent.Left = replacement; + }//Append to right side + parent.Right = replacement; } } } \ No newline at end of file diff --git a/C#/Program.cs b/C#/Program.cs index 0dc8ca5..6de20e1 100644 --- a/C#/Program.cs +++ b/C#/Program.cs @@ -112,17 +112,16 @@ Console.WriteLine("Hello, World!"); Tree tree = new Tree(); -tree.Add(4); tree.Add(5); -tree.Add(7); -tree.Add(6); -tree.Add(2); +tree.Add(4); tree.Add(3); +tree.Add(2); tree.Add(1); -tree.Add(8); -tree.Add(7); +tree.Add(0); -var x = tree.Delete(1); + +var x = tree.Delete(3); +//tree.Delete(5); var l = tree.Inorder(null);