全排列

 1 public class Main{
 2     static int count=0;
 3     public static void main(String[] args) {
 4         int[]arr={0,1,2,3,4,5,6,7,8,9};
 5         f(0,9,arr);
 6         System.out.println(count);
 7     }
 8     static void f(int a,int b,int[]arr){
 9 //        if(count==10){
10 //            return;
11 //        }
12         if(a==b){
13             count++;
14 //            for(int i=0;i<arr.length;i++){
15 //                System.out.print(arr[i]+" ");
16 //            }
17 //            System.out.println();
18         }
19         for(int i=a;i<arr.length;i++){
20             swap(a,i,arr);
21             f(a+1,b,arr);
22             swap(a,i,arr);
23         }
24     }
25     static void swap(int a,int b,int[]arr){
26         int t = arr[a];
27         arr[a]=arr[b];
28         arr[b]=t;
29     }
30 
31 }

打印出前十位:

 

posted @ 2018-05-24 15:02  板栗子  阅读(156)  评论(0)    收藏  举报