예제 #1
0
        static void Main(string[] args)
        {
            var root = new Node
            {
                Data  = "A",
                Left  = new Node("B", new Node("C"), new Node("D", new Node("E"), new Node("F", null, new Node("G")))),
                Right = new Node("H", new Node("I"), new Node("J"))
            };

            var root2 = new Node
            {
                Data  = "A",
                Left  = new Node("B", new Node("C"), new Node("D", new Node("E"), new Node("F", null, new Node("G")))),
                Right = new Node("H", new Node("I"), new Node("J", new Node("K", new Node("L"), null), new Node("M")))
            };

            Console.WriteLine("Node A = Node B: " + root.Equals(root2));

            Console.WriteLine("Pre-order");
            PreOrderPrint(root);
            Console.WriteLine("In-order");
            InOrderPrint(root);
            Console.WriteLine("Post-order");
            PostOrderPrint(root);

            string s;

            do
            {
                Console.Write("Enter Command: ");
                s = Console.ReadLine();
                var foundNode = FindNode(root, s);

                if (foundNode == null)
                {
                    Console.WriteLine("Node Not found " + s);
                }
                else
                {
                    Console.WriteLine("Found Node!!!!");
                }
            } while (s != "STOP");
        }