我正在制作一个二叉搜索树 (BST) 和一个随机 BST。我对这两项工作的所有方法,我都坚持我觉得更简单的方法。失败的代码非常简单。顺便说一句,我使用标准重定向来读取值,所以我一次输入了很多值,而不是一次输入一个。
while ( console.hasNextInt() ) {
key = console.nextInt();
System.out.println(key);
head.remove( key );
}
其中 console 是我的扫描仪的名称,而 key 是一个全局变量,用于读取树的键。调试表明它正确地通过循环,直到读取最终整数之后。之后,即使没有更多整数要读取,它似乎也重新进入了 while 循环。我显然在某个地方犯了一个错误,但这对我来说并不明显,我花了几个小时试图改写它无济于事。任何帮助将不胜感激。
编辑 - 我输入的一个例子是:
820426496 648711744 834882112 261937632 475255968 311993216 834882112
它读入每个数字,直到 834882112 然后重新进入 while 循环,我不知道为什么。
就代码而言,这正是搞砸的代码。其他一切都只是设置扫描仪等。