我是Java新手。请帮助我理解以下代码,指针如何从左向右移动。该代码运行良好。我只想知道它的工作原理,让我们说如果我们插入20,30,10,35,9。指针如何从根20左边的10移动到根20节点30右边的35。始终挂在按照代码添加的最新节点的左侧和右侧。
class Node {
Node right, left;
int data = 0;
Node(int data) {
this.data = data;
}
public void insert(int value) {
if (value <= data) {
if (left == null) {
left = new Node(value);
} else {
left.insert(value);
}
} else {
if (right == null) {
right = new Node(value);
} else {
right.insert(value);
}
}
}
}
答案 0 :(得分:0)
当支票if (value <= data) {
决定要走的路时,指针将正确移动,如果输入值小于或等于当前节点值,则它将向左移动,否则向右移动。移动之后,它将再次调用在左侧或右侧节点上插入。