全排列问题Java实现
import java.util.*;
public class Main {
static int count=0;
public void Perm(int list[], int k, int m) {
if (k == m) {
for (int i = 0; i <= m; i++)
System.out.print(list[i]);
System.out.println();
count++;
}
else{
for (int i = k; i <= m; i++) {
Swap(list, k, i);
Perm(list, k + 1, m);
Swap(list, k, i);
}
}
}
public void Swap(int[] list, int i, int j) {
int t = list[i];
list[i] = list[j];
list[j] = t;
}
public static void main(String[] args) {
Main d = new Main();
int[] arr = {1,2,3,4};
d.Perm(arr, 0, 3);
System.out.println("全排列为"+count+"种");
}
}