Exemple #1
0
        static void Main(string[] args)
        {
            int[] data = new int[10];

            Random randNum = new Random();

            for (int i = 0; i < data.Length; i++)
            {
                data[i] = randNum.Next(0, 1000);
            }

            BST bts = new BST();

            foreach (int d in data)
            {
                bts.Insert(d);
            }

            bts.Inorder();
            Console.WriteLine("Root element is :" + bts.GetRoot().key);
            Console.WriteLine("Press any key to traverse left");
            Console.ReadLine();
            bts.TraverseLeft();
            Console.WriteLine("Press any key to traverse right");
            Console.ReadLine();
            bts.TraverseRight();
            Console.WriteLine("Press any key to balance");
            Console.ReadLine();
            bts.BalanceTree();
            bts.Inorder();
            Console.WriteLine("Root element is :" + bts.GetRoot().key);
            bts.TraverseLeft();
            Console.WriteLine("traversed left");
            bts.TraverseRight();
            Console.WriteLine("traversed right");
            Console.ReadLine();
            Console.WriteLine("Write node value which you want to delete");
            string number = Console.ReadLine();
            int    value  = Int32.Parse(number);

            bts.DeleteNodeByValue(bts.GetRoot(), value);
            bts.Inorder();
            Console.WriteLine("Press any key to exit");
            bts.DeleteBinarySearchTree();
            Console.ReadLine();
        }