【发布时间】:2016-11-15 18:21:14
【问题描述】:
我正在尝试递归地做朋友数组,如果arr1[i][j] = arr2[j][i],一个数组是另一个数组的朋友,所以我尝试递归地做,但我只更改第一行,另一个保持不变,我必须这样做它只有 1 个数组我的意思是我不能创建两个我猜必须在同一个数组上的更改,我这样做了:
int friendArray[][] = {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16}
};
friendArrayRecursive(friendArray, 0,0);
private static void friendArrayRecursive(int[][] arr, int row, int col){
if(row < arr.length){
if (col < arr[row].length) {
arr[row][col] = arr[col][row];
friendArrayRecursive(arr, row, col + 1);
} else {
friendArrayRecursive(arr, row + 1, 0);
}
}
}
但输出而不是:
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
是
1 5 9 13
5 6 10 14
9 10 11 15
13 14 15 16
如何保存其他值以将 2 更改为 5 等...?
【问题讨论】: