Esempio n. 1
0
        static void Main(string[] args)
        {
            BTree Btree = new BTree();
            bool  flag  = true;

            while (flag)
            {
                Console.Clear();
                Console.WriteLine("Demo: BTree of Integer");
                Console.WriteLine("--------------------------------");
                Console.WriteLine("1 - Insert node");
                Console.WriteLine("2 - Delete node");
                Console.WriteLine("3 - Search node");
                Console.WriteLine("4 - Traverse Tree In-Order");
                Console.WriteLine("5 - Display Tree");
                Console.WriteLine("6 - Exit");
                Console.WriteLine("--------------------------------");
                ConsoleKeyInfo cki = Console.ReadKey(true);
                switch (cki.Key)
                {
                case ConsoleKey.D1:
                    Console.WriteLine("Enter node to insert:");
                    string insertInput = Console.ReadLine();
                    if (Int32.TryParse(insertInput, out int insertNode))
                    {
                        Btree.Insert(insertNode);
                        Console.WriteLine("Node " + insertNode + " has been inserted.");
                    }
                    else
                    {
                        Console.WriteLine("Invalid input. Enter integer number");
                    }
                    Console.WriteLine("\nPress any key...");
                    Console.ReadLine();
                    break;

                case ConsoleKey.D2:
                    Console.WriteLine("Enter node to delete:");
                    string deleteInput = Console.ReadLine();
                    if (Int32.TryParse(deleteInput, out int deleteNode))
                    {
                        if (Btree.Search(deleteNode) == false)
                        {
                            Console.WriteLine("No such node in the tree");
                        }
                        else
                        {
                            Btree.Delete(deleteNode);
                            Console.WriteLine("Node " + deleteNode + " has been deleted.");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Invalid input. Enter integer number");
                    }
                    Console.WriteLine("\nPress any key...");
                    Console.ReadLine();
                    break;

                case ConsoleKey.D3:
                    Btree.PrintTree();
                    Console.WriteLine("Enter node to search:");
                    string getInput = Console.ReadLine();
                    if (Int32.TryParse(getInput, out int getNode))
                    {
                        if (Btree.Search(getNode) == true)
                        {
                            Console.WriteLine("Node " + getNode + " is present in the tree");
                        }
                        else
                        {
                            Console.WriteLine("No such node in the tree");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Invalid input. Enter integer number");
                    }
                    Console.WriteLine("\nPress any key...");
                    Console.ReadLine();
                    break;

                case ConsoleKey.D4:
                    Console.WriteLine("Current tree In-Order traverse:");
                    Btree.TraverseInOrder();
                    Console.WriteLine("\nPress any key...");
                    Console.ReadLine();
                    break;

                case ConsoleKey.D5:
                    Console.WriteLine("Current tree(from left to right):");
                    Btree.PrintTree();
                    Console.WriteLine("\nPress any key...");
                    Console.ReadLine();
                    break;

                case ConsoleKey.D6:
                    flag = false;
                    break;

                default:
                    Console.WriteLine("Invalid menu item, enter numbers 1-4");
                    Console.WriteLine("\nPress any key...");
                    Console.ReadLine();
                    break;
                }
            }
        }