【问题标题】:Traverse an array recursively递归遍历数组
【发布时间】:2013-05-16 05:12:18
【问题描述】:

我正在尝试创建一个递归方法,它接收一个数组并像循环一样遍历它,但没有循环。

找不到一种方法来制作索引,并且每次调用该方法时都会增加。

【问题讨论】:

  • 分享您尝试过的任何代码?并询问您是否遇到问题。

标签: java arrays recursion


【解决方案1】:

如果你有一个函数 f(array,index),让它用 array[index] 做一些事情并返回函数(array,index+1)。最后,从调用函数(数组,0)开始。如果您在递归函数的过程中建立了任何变量或状态,也可以通过参数传递它。

【讨论】:

    【解决方案2】:

    在黑暗中拍摄,但是

    public void printMyArray (String[] test, int index) {
        // verify the index isn't too large
            // Grab a value and do something with it.
    }
    

    编辑:如上所述,您基本上只需要遍历数组中的每个值。最简单的方法就是继承一个索引值(在我看来)。

    【讨论】:

    • 这个问题来自家庭作业。为了回答作业问题,我们必须不提供直接答案,而是引导 OP 找到解决方案。阅读其他答案以了解这意味着什么。
    • IMO 它有太多的光,因为它显示了要使用的方法的签名。
    • 对不起,我没有说清楚。接收索引没有问题,但我只接收了一个数组。
    • @Rogue - 非常感谢,您的一行“最简单的方法就是继承索引值(在我看来)。”清除了我关于数组递归的很多概念。谢谢。
    • 没问题,很高兴它有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    相关资源
    最近更新 更多