主要是学习其中的递归思想
下面是JAVA代码实现:
public class ArrayCombination {
static int[] a = {1, 2, 3};
static int count = 0;
public static void main(String[] args) {
permutation(0, a.length-1);
System.out.println("一共有" + count + "种组合");
}
public static void permutation(int m, int n) {
int i;
if (m == n) {
display(a);
count++;
}
for (i = m; i <= n; i++) {
swap(i,m);
permutation(m + 1, n);
swap(i,m);
}
}
public static void display(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]);
}
System.out.println();
}
public static void swap(int x,int y){
int temp = a[x];
a[x] = a[y];
a[y] = temp;
}
}