Обход не бинарного дерева - C#

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

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

есть вот такое дерево
Листинг программы
  1. public class Node // узел
  2. {
  3. public string data;
  4. public List<Node> childs;
  5. public Node(string data)
  6. {
  7. this.data = data;
  8. childs = new List<Node>();
  9. }
Предположим, что мы уже построили его, какие есть способы его обхода, кто-нибудь может подсказать ? Заранее благодарю

Решение задачи: «Обход не бинарного дерева»

textual
Листинг программы
  1.  public class TreeViewConverter : IValueConverter
  2.     {
  3.         public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  4.         {
  5.             var list = value as List<Node>;
  6.             var col = new List<TreeViewItem>();
  7.  
  8.             CreateTree(list, col);
  9.  
  10.             return col;
  11.         }
  12.  
  13.         public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  14.         {
  15.             return value;
  16.             //throw new NotImplementedException();
  17.         }
  18.  
  19.         private void CreateTree(List<Node> list, dynamic ItemsSource)
  20.         {
  21.             foreach (var node in list)
  22.             {
  23.                 var newTV = new TreeViewItem() { Header = node.Data };
  24.                 if (node.childs.Count > 0)
  25.                 {
  26.                     CreateTree(node.childs, newTV.Items);
  27.                     ItemsSource.Add(newTV);
  28.                 }
  29.                 else
  30.                 {
  31.                     ItemsSource.Add(newTV);
  32.                 }
  33.             }
  34.         }
  35.     }

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


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

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

7   голосов , оценка 3.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы