全排列
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 }
打印出前十位: