私はBSTにノードを挿入したり再帰的にノードを追加しようとしていました。私は続ける スレッド "main" java.lang.StackOverflowError例外で、私は再帰によって引き起こされていると仮定していますが、どこから行くべきか正確には分かりません。それ。 :)Javaでcomparableを使ってBSTにノードを再帰的に追加する
public void add(Type obj) {
TreeNode<Type> newNode = new TreeNode<Type>(obj);
if (root == null) {
root = newNode;
} else {
addNode(root, newNode);
}
}
private void addNode(TreeNode<Type> current, TreeNode<Type> newNode) {
current = root;
if (current == null) {
current = newNode;
} else if (newNode.getValue().compareTo(current.getValue()) < 0) {
if (current.getLeft() == null) {
current.setLeft(newNode);
} else {
addNode(current.getLeft(), newNode);
}
} else if (newNode.getValue().compareTo(current.getValue()) > 0) {
if (current.getRight() == null) {
current.setRight(newNode);
} else {
addNode(current.getRight(), newNode);
}
}
}//end add
ありがとうございました!愚かな間違いでしたが、助けてくれてありがとう! – KylePhill975