import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("输入n的值:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
List<Integer> list = new ArrayList<Integer>();
dp(1, n, list);
}
public static void dp(int a, int n, List list) { //a到n全排列的输出
if (a > n) {
System.out.println(list.toString());
return;
}
for (int i = 0; i < a; i++) {
List<Integer> list1 = new ArrayList<Integer>();;
list1.addAll(list);
list.add(i, a);
dp(a + 1, n, list);
list = list1;
}
}
}
程序可以直接运行得到结果,dp()也可以输出a到n的全排列。若有问题可私聊博主