0
私はカスタムバイナリ検索ツリークラスを作成しています。何らかの理由でノードに割り当てられた値が常に失われます。ここに私の方法です。バイナリ検索ツリーaddメソッド参照が失われる
private void add(TreeNode node, int a) {
if(node==null) {
System.out.println("node=null");
node = new TreeNode(a);
}else {
if(a<node.value) {
System.out.println("root > value "+"root: "+node.value+"value: "+a);
add(node.left, a);
}else {
System.out.println("root < value "+"root: "+node.value+"value: "+a);
add(node.right, a);
}
}
}
//root is class data
public void add(int a) {
add(root, a);
}
私はこれを実行すると、ステートメントは値が実際に私のノードに割り当てることはありませんを意味し、falseをチェックしたことがない場合は、コンソール画面には常に、最初のノード= NULLを出力します。私は参照がどこかで失われたと思うが、私はどこがわからない。私が見
node.left/rightを渡して、それがnullの場合、コードは左/右ノードを実際に作成していない参照に新しい値を割り当てます。完全なクラスコードを貼り付けます。これは、あなたが何をする必要があるかを伝えるのに役立ちます。 –
'root'を宣言/初期化するコードは含まれていません。それがなぜヌルであるかをどのように知るべきですか? – shmosel