Логика для создания древовидного представления - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть требование показать на веб-странице структуру, подобную бинарному дереву, которая будет использоваться для представления отношения родитель-потомок.В отличие от бинарного дерева, у этого дерева может быть несколько дочерних узлов, и у дочерних элементов могут быть дополнительные дочерние узлы, и этот процесс будет продолжаться до тех пор, пока от их родителей не останется ни одного дочернего элемента.модель должна быть, и мое мышление не выходит за рамки этой

public class Parent
{
  public string parentName {get;set;} // As their will be one start for this tree, I will have one parent node that will show the parent
  public List<string> child {get;set;} // As the parent can have multiple children, I can have a list of string 
}

Но вопрос в том, что ребенок также может выступать в роли родителя, как и дети.Как мне реализовать такую ​​структуру.

Спасибо

1 Ответ

0 голосов
/ 18 декабря 2018

A string не может иметь собственных дочерних элементов, поэтому это не очень хорошее представление.

Простой способ - сделать дочерние элементы просто List элемента того же типа.как родитель.Давайте назовем их все Node вместо:

public class Node
{
  public string Name { get; set; }

  public List<Node> ChildNodes { get; set; }
}
...