我试图用下面的代码遍历二进制搜索树,我的递归只是照顾右侧的树,我知道为什么但是我该怎么做才能改进这里的逻辑?
public void Print() {
Console.WriteLine(this.Value + " ");
if (this.Right != null) {
this.Right.Print();
}
if (this.Left != null) {
this.Left.Print();
}
Console.Read();
}
答案 0 :(得分:1)
我认为,问题在于您在功能结束时从控制台读取。当代码到达右侧树的底部时,它会执行Console.Read()
并且不会继续打印树的其余部分,直到它获得某些内容。
消除它,它应该打印所有内容。