迭代到递归

Nat*_*ath 1 java recursion

private int array[][] = new int[5][5];

private void arrayIteration(){
    for(int i = 0; i < array.length; i++){
        for(int j = 0; j < array.length; j++){
            array[i][j] = 10;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以将迭代方法更改为递归执行相同任务的方法吗?

编辑(这是我尝试过的,但它只是在玩我想做的事情):

private void arrayRecursion(){
    if(){
        array[i][i] = 10;  // Base
        return;
    }
    for(int i = 0; i < array.length; i++){
        arrayRecursion();
    }
}
Run Code Online (Sandbox Code Playgroud)

pax*_*blo 6

是的你可以.但是,你不应该这样做.我可以用汇编代码编写我的所有应用程序,但这并不是一个好主意:-)

有一些算法自然适用于递归,那些操作可以用较小数据集上的相同操作或较小值(树遍历,阶乘,那种事物)表示.

将数组初始化为全零并不是其中之一.

  • ..但可能不是时候. (2认同)
  • 循环不会导致递归调用的堆栈帧开销.它们不是同一件事. (2认同)