在Java中的递归方法中创建Vector并存储信息

时间:2017-02-14 20:26:44

标签: java recursion vector

修改 有人向我指出,实际上我需要逐步完成所有的递归以确保我达到终点,然后在我回到堆栈时开始收集值。我不知道这意味着什么。

我的目标是构建一个递归方法来构建迷宫中的路径,将该路径存储在Vector中,并在递归结束时返回它。

我的方法运行迷宫,但是我很难将列表存储在Vector中,因为我需要在每次递归时实例化它。

这是我的代码(已编辑):

frmMain

有没有一种方法我无法在每次递归时实例化我的Vector,所以我可以永久存储我的值?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

执行此操作的典型方法是委托另一个递归方法,并将列表作为参数填充:

public List<GameCell> findPath(int nRow, int nCol) {
    List<GameCell> result = new ArrayList<>();
    doFindPathRecursively(result, nRow, nCol);
    return result;
}

private void doFindPathRecursively(List<GameCell> result, int nRow, int nCol) {
    ...
}

请注意,自Java 2以来,Vector实际上已被弃用,因此改为使用List和ArrayList。

答案 1 :(得分:0)

我找到了解决方案,在我找到路径后,我必须在我的列表中添加元素。这是解决方案。我仍然有一个错误,但我问的问题是固定的。

-r