>

저는 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를 호출합니다.

  • 이전 pandas - Python Powerframe을 재구성하여 'PowerBI'Venn 다이어그램을 만드는 방법은 무엇입니까?
  • 다음 android - AlertDialog 상자에서 이미지 URI를 아이콘으로 설정하려면 어떻게합니까?