Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在无父节点结构上迭代_Java_Data Structures_Iterator - Fatal编程技术网

Java 在无父节点结构上迭代

Java 在无父节点结构上迭代,java,data-structures,iterator,Java,Data Structures,Iterator,我有一个节点结构,每个节点都有子节点,但没有父节点。我需要迭代这个结构,同时收集信息到3个double。由于java没有引用,我不能使用递归,除非我将为这些double创建一个类,而且我也不能不使用递归,因为节点是无父节点的 有没有一种方法可以在不改变结构或创建另一个类的情况下在java中实现这一点 结构: public class Skeleton { public Vector2D head; public int numberOfNodes; public Ske

我有一个节点结构,每个节点都有子节点,但没有父节点。我需要迭代这个结构,同时收集信息到3个double。由于java没有引用,我不能使用递归,除非我将为这些double创建一个类,而且我也不能不使用递归,因为节点是无父节点的

有没有一种方法可以在不改变结构或创建另一个类的情况下在java中实现这一点

结构:

public class Skeleton
{

    public Vector2D head;
    public int numberOfNodes;
    public Skeleton[] nodes;
    public int skeletonSize;
    public Color color;
...
}
如果您声明:

double[] results = new double[3];
结果将是指向三元素双精度数组的指针。您可以在递归过程中传递它,并根据需要修改元素

但是,不要害怕在Java中创建额外的类。您可以在其他类中声明一个类以供本地使用。

如果您声明:

double[] results = new double[3];
结果将是指向三元素双精度数组的指针。您可以在递归过程中传递它,并根据需要修改元素


但是,不要害怕在Java中创建额外的类。您可以在其他类中声明一个类以供本地使用。

我不理解您的问题。显示节点的实际结构会有所帮助。您可以使用访问者模式,但这需要至少再添加一个类和一个方法。您完全可以在Java中使用递归。“您完全可以在Java中使用递归。”-没有说其他。。“java没有引用”?“-惊讶!不能使用REF将int传递给函数(如C++或C语言),如果节点在中,则可以遍历这个数组并获取数据。真正的问题是什么?我不明白你的问题。显示节点的实际结构会有所帮助。您可以使用访问者模式,但这需要至少再添加一个类和一个方法。您完全可以在Java中使用递归。“您完全可以在Java中使用递归。”-没有说其他。。“java没有引用”?“-惊讶!不能使用REF将int传递给函数(如C++或C语言),如果节点在中,则可以遍历这个数组并获取数据。真正的问题是什么?