我对Java中的递归不是很熟悉。我正在尝试编写一种方法来计算整数数组的所有排列。我需要修改以下完美的工作方法,以便将它们插入到二维数组中,而不是打印以筛选数组的所有排列。所以该方法的输入是n个整数的数组,输出是一个n的二维数组!行和n列。我需要修改的程序是这样的:
public static void permute(int[] array, int k)
{
for(int i=k; i<array.length; i++)
{
int temp;
temp = array[i];
array[i] = array[k];
array[k] = temp;
permute(array, k+1);
int temp2;
temp2 = array[i];
array[i] = array[k];
array[k] = temp2;
}
if (k == array.length-1)
{
Array.printValues(array);
}
}
所以,我需要的是这样的:
public static int[][] permute(int[] array, int k)
{
//code here
}
谢谢你。