예제 #1
0
        static void Main(string[] args)
        {
            int        val, ch = 0;
            BinaryTree mylist = new BinaryTree();

            while (true)
            {
                Console.Clear();

                Console.WriteLine("[1] Insert Node to Binary Search Tree");
                Console.WriteLine("[2] Delete Node from Binary Search Tree");
                Console.WriteLine("[3] Minimum value in BST is: ");
                Console.WriteLine("[4] Maximum value in BST is: ");
                Console.WriteLine("[5] Successor");
                Console.WriteLine("[6] Predecessor");
                Console.WriteLine("[7] Search");
                Console.WriteLine("[8] Print BST");
                Console.WriteLine("[9] Exit Console");

                Console.Write("\nEnter your choice:");
                ch = int.Parse(Console.ReadLine());

                switch (ch)
                {
                case 1:
                    Console.Write("Enter a value: ");
                    val = int.Parse(Console.ReadLine());
                    mylist.Insert(val);
                    break;

                case 2:
                    Console.Write("Specify value to be deleted: ");
                    val = int.Parse(Console.ReadLine());
                    mylist.Remove(val);
                    break;

                case 3:
                    Console.Write("Smallest value in BST is: ");
                    Console.WriteLine(mylist.Smallest());
                    break;

                case 4:
                    Console.Write("Largest value in BST is: ");
                    Console.WriteLine(mylist.Largest());
                    break;

                case 5:
                    Console.Write("Enter a value: ");
                    val = int.Parse(Console.ReadLine());
                    mylist.PublicTreeSuccessor(val);
                    break;

                case 6:
                    Console.Write("Enter a value: ");
                    val = int.Parse(Console.ReadLine());
                    mylist.PublicTreePredecessor(val);
                    break;

                case 7:
                    Console.Write("Find value: ");
                    val = int.Parse(Console.ReadLine());
                    var tree = mylist.Find(val);
                    break;

                case 8:
                    Console.WriteLine();
                    mylist.InOrderTraversal();
                    break;

                case 9:
                    Environment.Exit(0);
                    break;
                }

                Console.ReadLine();
            }
        }
예제 #2
0
파일: BST.cs 프로젝트: slashssab/BST
        public static void program()
        {
            BinaryTree b = new BinaryTree();
            int        a = 0;

            Console.Clear();
            while (a != 9)
            {
                Console.Clear();
                Console.WriteLine("Witaj, którą czynność chcesz wykonać:");
                Console.WriteLine("1.Wprowadź wartosć do drzewa");
                Console.WriteLine("2.przeszukaj drzewo");
                Console.WriteLine("3.Wyświetl drzewo");
                Console.WriteLine("4.Automatycznie wygeneruj wartości");
                Console.WriteLine("9.Powrót do menu głównego");


                if (!Int32.TryParse(Console.ReadLine(), out a))
                {
                    continue;
                }

                if (a == 1)
                {
                    Console.WriteLine("Jaką wartosć chcesz wprowadzić?");
                    int q = Int32.Parse(Console.ReadLine());
                    b.insert(q);
                }
                if (a == 2)
                {
                    Console.WriteLine("Jaką wartosć chcesz znaleść?");
                    int q = Int32.Parse(Console.ReadLine());
                    if (b.search(q))
                    {
                        Console.WriteLine("Obecna!");
                    }
                    else
                    {
                        Console.WriteLine("Nieobecna :(");
                    }

                    Console.ReadKey();
                }
                if (a == 3)
                {
                    Console.WriteLine("To są wartosci w drzewie:");
                    b.display();
                    Console.ReadKey();
                }
                if (a == 4)
                {
                    Random RandomNumber = new Random();
                    for (int i = 0; i < 500; i++)
                    {
                        b.insert(RandomNumber.Next(1000));
                    }
                }
                //Console.ReadKey();
                Console.Clear();
            }
        }