置换数组并将每个结果保存到ArrayList

问题描述 投票:0回答:1

我需要置换一个数组并将每个排列保存在arrayList中,我使用的是递归方法,但它反复保存的只是一个结果。

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;

    }
}

我希望有人可以帮助我。

java recursion permutation
1个回答
0
投票

您可以执行以下操作:

© www.soinside.com 2019 - 2024. All rights reserved.