public static void Main(string[] args) { Node currentNode = null; Tree.Insert(ref currentNode, 10); Tree.Insert(ref currentNode, 20); Tree.Insert(ref currentNode, 15); Tree.Insert(ref currentNode, 0); Tree.Insert(ref currentNode, 5); Console.WriteLine("contains tests:"); Console.WriteLine($"{Tree.Contains(currentNode, 10) == true} , 10 exists"); Console.WriteLine($"{Tree.Contains(currentNode, 4) == false} , 4 does not exist"); Console.WriteLine($"{Tree.Contains(currentNode, 20) == true} , 20 exists"); Console.WriteLine($"{Tree.Contains(currentNode, 0) == true} , 0 exists"); Console.WriteLine($"{Tree.Contains(currentNode, 100) == false} , 100 does not exist"); Console.WriteLine("find min tests:"); Console.WriteLine($"{Tree.FindMin(currentNode) == 0} , 0 is the minumim"); Console.WriteLine("find max tests:"); Console.WriteLine($"{Tree.FindMin(currentNode) == 20} , 20 is the maximum"); Console.WriteLine("level-order traversal - can be used for printing the tree:"); Tree.LevelOrder(currentNode); Console.WriteLine(); Console.WriteLine("pre-order traversal"); Tree.PreOrder(currentNode); Console.WriteLine(); Console.WriteLine("in-order traversal - can be used for sorting the tree:"); Tree.InOrder(currentNode); Console.WriteLine(); Console.WriteLine("post-order traversal"); Tree.PostOrder(currentNode); }