Обход бинарного дерева поиска - PullRequest
0 голосов
/ 24 июля 2011

Я пытаюсь пройти по бинарному дереву поиска с помощью следующего кода, и моя рекурсия просто заботится о правой стороне, если дерево, которое я вижу почему. Но что я должен сделать, чтобы улучшить логику здесь?

public void Print() {
    Console.WriteLine(this.Value + "  ");
    if (this.Right != null) {
        this.Right.Print();
    }
    if (this.Left != null) {
        this.Left.Print();
    }
    Console.Read();
}

1 Ответ

1 голос
/ 24 июля 2011

Проблема, я думаю, в том, что вы читаете с консоли в конце функции. Когда код попадает в нижнюю часть дерева справа, он выполняет Console.Read() и не будет продолжать печатать остальную часть дерева, пока не получит что-либо.

Устраните это, и оно должно напечатать все.

...