I need to permute an array and save each permutation in an arrayList, I am using a recursive method but it is repeatedly saving just one result.
private static List<int[]> permutations = new ArrayList<int[]>();
int array[] = new int[]{1,2,3,4};
public static void permuteArray(int[] array) {
permuteArray(array, 0);
}
private static void permuteArray(int[] array, int index) {
if (index == array.length - 1) {
permutations.add(array);
}
for (int i = index; i < array.length; i++) {
int aux = array[index];
array[index] = array[i];
array[i] = aux;
permuteArray(array, index + 1);
aux = array[index];
array[index] = array[i];
array[i] = aux;
}
}