我对Java中的递归不太熟悉。我试图编写一个方法来计算整数数组的所有排列。我需要修改以下完美工作的方法,以便不用打印来筛选数组的所有排列,而是将它们插入到二维数组中。所以该方法的输入是整数的n的数组,并且输出是具有n的二维数组!行和n列。我需要修改的程序是这样的:Java:数组的排列
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
}
谢谢。
您是否明白,如果原始数组中的元素数量大于'12',那么输出数组的行数会溢出最大整数范围? –