我對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',那麼輸出數組的行數會溢出最大整數範圍? –