【发布时间】:2017-11-04 07:24:12
【问题描述】:
我正在尝试获取一个数字数组的所有可能排列并将其存储在一个 ArrayList 中,但总是获得与 arraylist 的所有元素相同的排列作为默认元素 {1、4、9、11} 有什么帮助吗? `
public static void main (String[] args) throws java.lang.Exception
{
int [] my_numbers = {1,4,9,11};
ArrayList<int []> permutation_results = new ArrayList<int []>();
arrayPermutations(permutation_results,my_numbers,0);
}
public static void arrayPermutations(ArrayList<int []> result ,int[]
numbers, int index){
if(index >= numbers.length - 1){
result.add(numbers);
return;
}
for(int i = index; i < numbers.length; i++){
int t = numbers[index];
numbers[index] = numbers[i];
numbers[i] = t;
arrayPermutations(result, numbers, index+1);
t = numbers[index];
numbers[index] = numbers[i];
numbers[i] = t;
}
}
【问题讨论】:
-
请检查您基本的参考传递和值传递
标签: java arrays arraylist permutation