输出一个数n的全排列

来源:互联网 发布:pi补偿网络的设计 编辑:程序博客网 时间:2024/05/17 13:14

题目:输入一个数n, 输出1~n的全排列。

package smart;public class Test {public static void main(String[] args) {dfs(4);}/* * 打印1~n的全排列 */public static void dfs(int n){int[] arr = new int[n];int[] book = new int[n];dfs(0,arr,book);}private static void dfs(int step, int[] arr, int[] book){if(step==arr.length){for(int i=0; i<arr.length; i++){System.out.print(arr[i]);}System.out.println();return;}for(int i=0; i<arr.length; i++){if(book[i]==0){arr[step]=i+1;book[i] = 1;dfs(step+1,arr,book);book[i] = 0;}}}}


1 0
原创粉丝点击