Создание дерева с узлами в картинке - PullRequest
0 голосов
/ 25 сентября 2018

Я работаю над школьным проектом и мне нужна помощь.То, что мы должны сделать, это дерево, но в графическом окне.В моем распоряжении есть узлы, которые выглядят так:

ID; ИМЯ; РОДИТЕЛЯ; ВЛЕВО; ПРАВО, например: 1; a; 0; 1; 10

Эти узлы взяты изФайл TXT, я делаю это с помощью потокового ридера.

      static Tree Load()
    {
        List<TreeNode> nodes = new List<TreeNode>();

        using (StreamReader reader = new StreamReader(@"C:\tree.txt"))
        {
            while (!reader.EndOfStream)
            {
                string[] line = reader.ReadLine().Split(';');
                nodes.Add(new TreeNode() {
                    Id = Convert.ToInt32(line[0]),
                    Name = line[1],
                    ParentId = Convert.ToInt32(line[2]),
                    Left = Convert.ToInt32(line[3]),
                    Right = Convert.ToInt32(line[4]),
                });
            }
        }

        n*log2(n)     = 10000 + 1000 O->W
        W -> O   1000 + x*log2(x)

        nodes = nodes.OrderBy(x => x.Left).ToList();

Мне как-то нужно нарисовать эти узлы в правильном порядке и отсортировать по их родителям в картинке.Но я не знаю как.

Вот как это должно выглядеть, за исключением того, что оно должно быть в картинке, а не в cmd.This is what it should look like

...