Итак, у меня есть двоичное дерево поиска, которое заполнено строками и имеет следующую структуру:
class Node
{
public string data;
public Node left { get; set; }
public Node right { get; set; }
public Node(string data)
{
this.data = data;
}
}
class Tree
{
public Node root;
public Tree()
{
root = null;
}
public void insert(string data, TreeView view)
{
Node newItem = new Node(data);
if (root == null)
{
root = newItem;
view.Nodes.Add("Root: " + root.data);
}
else
{
TreeNode sub = new TreeNode();
Node current = root;
Node parent = null;
while (current != null)
{
parent = current;
if (String.Compare(data, current.data) < 0)
{
current = current.left;
if (current == null)
{
parent.left = newItem;
}
}
else
{
current = current.right;
if (current == null)
{
parent.right = newItem;
}
}
}
}
}
}
Используя view.Nodes.Add("Root: " + root.data);
, я успешно добавил корневой элемент, но я не совсем уверенкак добавить другие дочерние узлы, чтобы структура дерева была такой же, как и двоичное дерево.Мне нужно добиться чего-то подобного в TreeView:
- Root: computer
- - Left: code
- - - Left: analyzing
- - - - Right: and
- - - Right: cooler
- - Right: programming