static void Main(string[] args) { Node a = new Node('A'); Node b = new Node('B'); Node c = new Node('C'); Node d = new Node('D'); Node e = new Node('E'); Node f = new Node('F'); Node g = new Node('G'); a.left = b; a.right = c; b.left = d; b.right = e; c.left = f; c.right = g; //Preorder Expected: A B D E C F G Console.WriteLine("PreOrder"); Preorder(a); Console.WriteLine(""); //InOrder Expected: D B E A F C G Console.WriteLine("InOrder"); Inorder(a); Console.WriteLine(""); //PostOreder Expected: D E B F G C A Console.WriteLine("PostOrder"); Postorder(a); Console.WriteLine(""); //BreadthFirst Expected: A B C D E F G Console.WriteLine("BreadthFirst"); Tree myTree = new Tree(); myTree.BreadthFirst(a); Console.WriteLine(""); Console.ReadLine(); }
static void Main(string[] args) { Tree <int> tree = new Tree <int>(); Random random = new Random(); string input; int value; while (true) { Console.WriteLine("I = insert, D = delete, m = minimum, M = maximum, S = search, PO = pre-order, IO = in-order, pO = post-order, BF = breadth first"); input = Console.ReadLine(); if (input == "I") { Console.WriteLine("What doth thee wanteth to ins'rt?"); value = int.Parse(Console.ReadLine()); tree.Insert(value); Console.WriteLine("OK"); } if (input == "D") { Console.WriteLine("What doth thee wanteth to fordid?"); value = int.Parse(Console.ReadLine()); tree.Delete(value); Console.WriteLine("OK"); } if (input == "m") { Console.WriteLine("Of what sub-tree?"); value = int.Parse(Console.ReadLine()); Console.WriteLine(tree.Minimum(value).ToString()); } if (input == "M") { Console.WriteLine("Of what sub-tree?"); value = int.Parse(Console.ReadLine()); Console.WriteLine(tree.Maximum(value).ToString()); } if (input == "S") { Console.WriteLine("What doth thee wanteth to searcheth f'r?"); value = int.Parse(Console.ReadLine()); if (tree.Search(value)) { Console.WriteLine(""); Console.WriteLine("This value is somewh're in the tree. If 't be true thee wanteth to knoweth its exact location, prithee payeth me $5."); } else { Console.WriteLine(""); Console.WriteLine("Err'r numb'r 666."); Console.WriteLine("Eith'r this value is not in the tree, 'r thee oweth me wage."); Console.WriteLine("Whatev'r the case, i suggesteth yond thee starteth running."); } } if (input == "PO") { Console.WriteLine(""); foreach (var item in tree.PreOrder()) { Console.WriteLine($"{item}, "); } //int[] array = new int[tree.PreOrder().; //for (int i = 0; i < array.Length; i++) //{ // array[i] = tree.PreOrder()[i]; //} //for (int i = 0; i < array.Length; i++) //{ // Console.Write(array[i] + ", "); //} } if (input == "IO") { Console.WriteLine(""); int[] array = new int[tree.InOrder().Length]; for (int i = 0; i < array.Length; i++) { array[i] = tree.InOrder()[i]; } for (int i = 0; i < array.Length; i++) { Console.Write(array[i] + ", "); } } if (input == "pO") { Console.WriteLine(""); int[] array = new int[tree.PostOrder().Length]; for (int i = 0; i < array.Length; i++) { array[i] = tree.PostOrder()[i]; } for (int i = 0; i < array.Length; i++) { Console.Write(array[i] + ", "); } } if (input == "BF") { Console.WriteLine(""); int[] array = new int[tree.BreadthFirst().Length]; for (int i = 0; i < array.Length; i++) { array[i] = tree.BreadthFirst()[i]; } for (int i = 0; i < array.Length; i++) { Console.Write(array[i] + ", "); } } if (input == "z") { tree.Insert(2); tree.Insert(10); tree.Insert(5); tree.Insert(20); tree.Insert(1); tree.Insert(0); tree.Insert(9); tree.Insert(7); tree.Insert(12); tree.Insert(3); tree.Insert(18); tree.Insert(8); tree.Insert(6); tree.Insert(17); tree.Insert(4); } for (int i = 0; i < 5; i++) { Console.WriteLine(""); } } }