홈>
저는 Java를 처음 사용합니다. 포인터가 왼쪽에서 오른쪽으로 어떻게 움직이는 지 아래 코드를 이해하도록 도와주세요. 이 코드는 완벽하게 작동합니다. 우리가 20,30,10,35,9를 삽입하면, 포인터가 루트 20에서 왼쪽 10으로, 루트 20에서 오른쪽으로 35로 이동하는 방법, 노드 30으로 이동하는 방법을 알고 싶습니다. 코드에 따라 추가 된 가장 최근 노드의 왼쪽과 오른쪽에 항상 매달려 있어야합니다.
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);
}
}
}
}
- 답변 # 1
체크
if (value <= data) {
로 포인터가 올바르게 이동 현재 노드 값이 들어오는 값보다 작거나 같은 경우 이동할 방법을 결정하고 그렇지 않으면 오른쪽으로 왼쪽으로 이동합니다. 이동 후 다시 왼쪽 또는 오른쪽 노드 위에 insert를 호출합니다.