Процедуры и функции: Описать функцию, возвращающую строку, сформированную на базе символов, встречающихся в каждой строке дерева - C#

Узнай цену своей работы

Формулировка задачи:

Создать строковое двоичное дерево. Описать функцию, возвращающую строку, сформированную на базе символов, встречающихся в каждой строке дерева. В программе использовать подпрограммы.

Решение задачи: «Процедуры и функции: Описать функцию, возвращающую строку, сформированную на базе символов, встречающихся в каждой строке дерева»

textual
Листинг программы
  class Node
        {
            public String Name { get; set; }
            public Node[] Nodes=new Node[2];
        }
 
      static  String[] init = { "node", "1level", "1level", "2level", "2level", "2level", "2level","3level","3level" }; //init data
      static  int indexInit;
      static  int maxlevel;
      static  Node tree = null; //result tree
 
      static  void FillTree()
        {
            maxlevel = (int)Math.Ceiling(Math.Log((double)init.Length, 2D))+1;//max levels result tree
            int level = 0;
            FillNode(ref tree, ref level);
        }
 
      static void FillNode(ref Node tree, ref int level)
      {
          level++;
          if (indexInit == init.Length) return;
          tree = new Node();
          tree.Name = init[indexInit++];
          if (level < maxlevel)
          {
              for (int i = 0; i < tree.Nodes.Length; i++)
              {
                  FillNode(ref tree.Nodes[i], ref level);
                  level--;
              };
          };
      }
 
      static void GetStrings(Node node, ref String result)
      {
          result += node.Name+" ";
          foreach (Node n in node.Nodes)
              if (n != null)
              {
                  GetStrings(n, ref result);
              }
      }
 
        static void Main(string[] args)
        {
 
            FillTree();
            String str=String.Empty;
            GetStrings(tree,ref str);
            Console.WriteLine(str); //str - result string
            Console.ReadKey();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы