コード例 #1
0
        static void Main(string[] args)
        {
            BinaryTree binaryTree = new BinaryTree();

            int[] numbersToAdd = new[] { 1, 2, 9, 6, 7, 4, 10 };

            Console.WriteLine("Got array:");

            foreach (var number in numbersToAdd)
            {
                Console.Write($"{number} ");
            }

            Console.WriteLine();

            binaryTree.BuildTree(numbersToAdd);

            Console.WriteLine("Got Tree:");
            binaryTree.PrintTree();

            Console.WriteLine("Height before balancing:");
            Console.WriteLine($"{binaryTree.GetHeight()}");

            Console.WriteLine("Ascending sequence:");
            foreach (int number in binaryTree.AscendingSequence())
            {
                Console.Write($"{number} ");
            }

            Console.WriteLine();

            Console.WriteLine("Descending sequence:");
            foreach (int number in binaryTree.DescendingSequence())
            {
                Console.Write($"{number} ");
            }

            Console.WriteLine();

            Console.WriteLine("Equivalent sequence:");
            foreach (int number in binaryTree.EquivalentSequence())
            {
                Console.Write($"{number} ");
            }

            Console.WriteLine();

            Console.WriteLine("Across:");
            foreach (int number in binaryTree.Across())
            {
                Console.Write($"{number} ");
            }

            Console.WriteLine();

            int k = 3;

            Console.WriteLine($"k-th minimal element is: {binaryTree.FindKthMinimalElement(3)} (k = {k})");
        }