这是我的方法到目前为止它可能是错误的,但我需要在二叉树中插入一个节点。
public Node insert(Node node, int data)
{
if (root = null)
{
root = insert(data);
}
else if (data < node.data)
{
node.left = insert(data);
}
else if (data > node.data)
{
node.right = insert(data);
}
}
帮助?我正在使用bluej
答案 0 :(得分:1)
查看binary search tree上的维基百科页面。 (由于您的节点是有序的,因此您实际上是在实现二进制搜索树)。
给出了每个常见操作 - 例如insertion。甚至提供并解释了Java代码。
答案 1 :(得分:0)
我会这样做:
public void insert(Node node, int data)
{
if (node == null)
{
node = new Node(data, null, null); // create a new leaf node with the data.
}
else if (data < node.data)
{
insert(node.left, data);
}
else if (data > node.data)
{
insert(node.right, data);
}
}
我认为无需返回任何内容,因为您的树已经连接,该功能只会在正确的位置添加一个新节点。请致电:
insert(root, data);