我指的是打印出他们的全排列,谢谢

解决方案 »

  1.   

    按什么方法全排列啊?
    比如:从大到小
      

  2.   

    public class test{
       static int size=0;
    public static void permutation(int[] a,int i){
      if(i==a.length-1){
         size++;
         print(a);
      }
      for(int j=i;j<a.length;j++){
          swap(a,i,j);
          permutation(a,i+1);
          swap(a,i,j);
      }
    }
    public static void swap(int[] a,int i,int j){
        if(i!=j){
           int temp=a[i];
           a[i]=a[j];
           a[j]=temp;
        }
    }
    private static void print(int[] a){
       for(int i=0;i<a.length;i++)
         System.out.print(a[i]+" ");
       System.out.println();
    }
    public static void main(String[] args){
       int[] a={1,2,3,4,5};
       permutation(a,0);
       System.out.println("total possibilities: "+size);
    }
    }