Ejemplo n.º 1
0
        static void Tree()
        {
            #region tree Construction
            Tree <int> tree = new Tree <int>(4);

            Node <int> node2 = new Node <int>(8);
            Node <int> node3 = new Node <int>(15);
            Node <int> node4 = new Node <int>(16);
            Node <int> node5 = new Node <int>(23);
            Node <int> node6 = new Node <int>(42);
            Node <int> node7 = new Node <int>(108);

            tree.Root.LeftChild  = node2;
            tree.Root.RightChild = node3;
            node2.LeftChild      = node4;
            node2.RightChild     = node5;
            node3.LeftChild      = node6;
            node3.RightChild     = node7;

            #endregion

            List <int> preOrder = tree.PreOrder(tree.Root);
            Console.WriteLine("======== PRE-ORDER =======");
            Console.WriteLine(string.Join(',', preOrder));
            Console.WriteLine();



            List <int> postOrder = tree.PostOrder(tree.Root);
            Console.WriteLine("======== POST-ORDER =======");
            Console.WriteLine(string.Join(',', postOrder));
            Console.WriteLine();


            List <int> inOrder = tree.InOrder(tree.Root);
            Console.WriteLine("======== IN-ORDER =======");

            Console.WriteLine(string.Join(',', inOrder));
            Console.WriteLine();


            List <int> breadth = tree.BreadthFirst(tree.Root);
            Console.WriteLine("======== BREADTH-FIRST =======");

            Console.WriteLine(string.Join(',', breadth));
        }