私はBSTの再帰的な追加をしようとしています。 public addメソッドはint引数をとり、privateメソッドは同じintとNodeをとります。これは私がこれまでバイナリ検索ツリー再帰的な追加
public void add(int i) {
add(i, root);
}
private void add(int i, Node n) {
if (root==null){
root=new Node(i);
}
if (i < n.element) {
if (n.left != null) {
add(i, n.left);
} else {
n.left = new Node(i);
}
} else if (i > n.element) {
if (n.right != null) {
add(i, n.right);
} else {
n.right = new Node(i);
}
}
}
私はconstanlyヌルポインタを得続けるが、同様のデバッグを試みたが、私が見ることができない私のロジックに欠陥が何かがあります持っているコードです。
をそれはおそらくパラメータで 'N'の代わりに – Aaron
バックステップを取る必要がありながら、あなたは' root'を参照方法かもしれない https://reprog.wordpress.com/2010/04/19/are-you-one-of-the-percent/ – Stephane