遂宁建设网站技能培训有哪些
我们知道c++有库函数可以直接实现全排列,但是java却没有这个方法,如果要想使用java实现全排列,则需要使用dfs算法。而且这是固定写法,需要记住。
//确定第k位数是什么
public static void dfs(int[] arr, int k) {//排列完成,打印出来if(k == arr.length) {System.out.println(Arrays.toString(arr));return;} else {//把所有的可能用for循环列出来for(int i = k;i < arr.length;i++) {swap(arr, i, k);dfs(arr, k + 1);swap(arr, i, k);//回溯}}
}
public static void swap(int[] arr, int i,int j) {int temp;temp=arr[i];arr[i]=arr[j];arr[j]=temp;
}