public class Quanpailie {
public static void main(String[] args) {
int[] a = new int[] {1,2,3};
dfs(a, 0);
}
public static void dfs(int[] a, int m) {
int len = a.length;
if(m == len) {
for(int i : a) {
System.out.print(i + " ");
}
System.out.println();
}
for(int i=m; i<len; i++) {
swap(a, i, m);
dfs(a, m+1);
swap(a, i, m);
}
}
public static void swap(int[] a, int i, int j) {
int k = a[i];
a[i] = a[j];
a[j] = k;
}
}
经典全排列 Java实现
全排列算法实现
最新推荐文章于 2025-12-05 14:37:41 发布
本文介绍了一个使用递归深度优先搜索(DFS)实现全排列的Java程序。通过交换数组中的元素来生成所有可能的排列组合,并打印输出每一种排列。该算法适用于理解基本的回溯思想。
485

被折叠的 条评论
为什么被折叠?



