java组合排序算法代码
来源:http://blog.csdn.net/adam_zs/article/details/8262598
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; } }