java排序算法_012组合排序

package wzs.sort;

//用1、2、3、4、5这五个数字,用java写一个main函数,打印出所有不同的排列,如:51234、41235等。 
public class Test_wzs012
{

    public static void main(String[] args)
    {
        int[] bits = new int[]
        {
                1, 2, 3, 4, 5
        };
        sort("-", bits);
    }

    private static void sort(String prefix, int[] a)
    {
        if (a.length == 1)
        {
            System.out.println(prefix + a[0]);
        }

        for (int i = 0; i < a.length; i++)
        {
            sort(prefix + a[i], copy(a, i));
        }
    }

    private static int[] copy(int[] a, int index)
    {
        int[] b = new int[a.length - 1];
        System.arraycopy(a, 0, b, 0, index);
        System.arraycopy(a, index + 1, b, index, a.length - index - 1);
        return b;
    }
}


你可能感兴趣的:(算法,算法,java算法,经典算法,java经典算法,需要学习的)