9. java小节(全排列)

来源:互联网 发布:淘宝卖家怎么查看总额 编辑:程序博客网 时间:2024/06/06 14:05
// Demo.javapublic class Demo{    public static void main(String[] args)    {        int a[]=new int[4];        for(int i=0; i<a.length; i++)        {            a[i] = i;        }        fullPermutation(a, 0, a.length-1, a.length);    }    // 全排列递归算法    public static void fullPermutation(int array[], int x, int y, int n)    {        if(x==y)        {            for(int e: array)            {                System.out.print(e+" ");            }            System.out.println();            return;        }        for(int i=x; i<n; i++)        {            int empty=array[i];            array[i]=array[x];            array[x]=empty;            fullPermutation(array, x+1, y, n);            empty=array[i];            array[i]=array[x];            array[x]=empty;        }    }}

结果:

E:\java>javac Demo.javaE:\java>java Demo0 1 2 30 1 3 20 2 1 30 2 3 10 3 2 10 3 1 21 0 2 31 0 3 21 2 0 31 2 3 01 3 2 01 3 0 22 1 0 32 1 3 02 0 1 32 0 3 12 3 0 12 3 1 03 1 2 03 1 0 23 2 1 03 2 0 13 0 2 13 0 1 2E:\java>
0 0
原创粉丝点击