Пример #1
0
        static void Main(string[] args)
        {
            // Создание дерева
            Console.WriteLine("Введите количество вершин дерева");
            int     size = ReadCheak.ReadPositve();
            BinTree Tree = new BinTree();

            Tree = BinTree.ProdIdealTree(size, Tree);
            // Вывод дерева
            Console.WriteLine("Сформированый список: ");
            BinTree.ShowTree(Tree, size);

            // Добавление вершин
            Console.WriteLine("Добавление элементов:");
            Console.WriteLine("Введите количество добавляемых вершин");
            int NumAdd = ReadCheak.ReadPositve();

            for (int i = 1; i <= NumAdd; i++)
            {
                Tree = BinTree.AddElement(Tree);
                Console.WriteLine("Сформированый список: ");
                BinTree.ShowTree(Tree, size);
            }
            Console.ReadLine();
        }
Пример #2
0
 /// <summary>
 /// Печать дерева по уровням
 /// </summary>
 /// <param name="tree">Дерево</param>
 /// <param name="loc">Положение</param>
 public static void ShowTree(BinTree tree, int loc)
 {
     if (tree != null)
     {
         BinTree.ShowTree(tree.left, loc + 3);   // Переход к левому поддереву
         for (int i = 0; i < loc; i++)
         {
             Console.Write(" ");
         }
         Console.WriteLine(tree.data);
         BinTree.ShowTree(tree.right, loc + 3);  // Переход к правому поддереву
     }
 }