如何使用指向 Java 中下一个兄弟的节点创建树?

How to create a tree by using nodes that point to next brother in Java?

我做了一个 class(如下所示)来创建一棵树,其中的节点指向他右边的第一个兄弟和第一个儿子(图形上最左边的那个)。
如何在 for 循环中正确生成和 link 节点?

所以循环的第一次迭代需要生成和link第一个子节点到父节点,而后面的每次迭代都应该生成和link一个新节点作为父节点前一个的兄弟

final class Node { 
    private Node firstSon = null;
    private int data;
    private Node brotherDX = null;

    public Nodo(Nodo firstSon, int data, Nodo brotherDX) {
        this.data = data;
        this.brotherDX = brotherDX;
        this.firstSon = firstSon;
    }
}
public class MyClass {
    private Node rootNode = new Node(null, 0, null)
    
    //for cicle goes here
}

我会附上 quick drawing of how the tree should work : 节点包含:
浅蓝色 - link 给第一个儿子
WHITE - 节点数据
GREEN - link 给右边的兄弟
紫色线显示树的实际形状应该是什么节点的父子关系。

所以你想要一个数据结构,其中有一个父节点(firstSon 指针指向第一个“子”节点)和许多子节点,每个子节点使用 brotherDX 指针指向下一个,所以 brotherDX 或 firstSon 未被使用?两者都只有一个指针(顺便说一下,这将是一个单向链表)不是更容易吗?

无论哪种方式,按照您希望的方式添加节点的逻辑都非常简单:

Node start = new Node(null, 0, null);
Node temp = new Node(null, 1, null);
start.firstSon = temp;
for(int i=2;i<=AMOUNT_OF_NODES;i++){
    temp.brotherDX = new Node(null, i, null);
    temp = temp.brotherDX;
}