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(); }
/// <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); // Переход к правому поддереву } }