gpt4 book ai didi

java - 递归二叉搜索树插入

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:41:01 24 4
gpt4 key购买 nike

所以这是我的第一个 java 程序,但我已经做了几年的 c++。我写了我认为应该起作用的东西,但实际上并没有。所以我规定必须为此调用编写一个方法:

tree.insertNode(value);

其中值是一个整数。出于显而易见的原因,我想递归地编写它,所以我不得不做一个变通:

public void insertNode(int key) {
Node temp = new Node(key);

if(root == null) root = temp;

else insertNode(temp);
}

public void insertNode(Node temp) {
if(root == null)
root = temp;

else if(temp.getKey() <= root.getKey())
insertNode(root.getLeft());

else insertNode(root.getRight());
}

感谢您的任何建议。

最佳答案

// In java it is little trickier  as objects are passed by copy.
// PF my answer below.

// public calling method

public void insertNode(int key) {
root = insertNode(root, new Node(key));
}

// private recursive call

private Node insertNode(Node currentParent, Node newNode) {

if (currentParent == null) {
return newNode;
} else if (newNode.key > currentParent.key) {
currentParent.right = insertNode(currentParent.right, newNode);
} else if (newNode.key < currentParent.key) {
currentParent.left = insertNode(currentParent.left, newNode);
}

return currentParent;
}

Sameer Sukumaran

关于java - 递归二叉搜索树插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14825492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com