Я хотел добавить глубину во всех узлах в бинарном дереве поиска.Это мой метод Add.Но я вижу, что мое свойство глубины устанавливает произвольное значение.Может кто-нибудь, пожалуйста, дайте мне знать, что я делаю ошибку.
public void Add(int data)
{
BNode current = root;
int depth = 0;
while (true)
{
if (data < (int)current.Data && current.Left != null)
{
depth = depth + 1;
current = current.Left;
}
else if (data < (int)current.Data && current.Left == null)
{
depth = depth + 1;
current.Left = new BNode(data);
current.Left.Parent = current;
current.Depth = depth;
break;
}
else if (data > (int)current.Data && current.Right != null)
{
depth = depth + 1;
current = current.Right;
}
else if (data > (int)current.Data && current.Right == null)
{
depth = depth + 1;
current.Right = new BNode(data);
current.Right.Parent = current;
current.Right.Depth = depth;
break;
}
}
}