Вы ссылаетесь root
в Inorder
, а не Root
.root
(нижний регистр r
) - это переменная класса, содержащая корень всего дерева, а не параметр Node
, который вы передали. Ваш код циклически повторяется, потому что вы постоянно вызываете Inorder
на одном и том же узле.
Если вы используете заглавные буквы для root
в Inorder
(или используете другое имя переменной в методе, чтобы избежать путаницы, например current
), вы сможете добиться определенного прогресса.
public void Inorder(Node Root)
{
if (Root == null)
{
return;
}
Inorder(Root.left);
Console.WriteLine(Root.GetSetNumber + " ");
Inorder(Root.right);
}