数组全排列,不考虑重复值
public class AllPermutation { public static void doPermute(Character[] array) { doPermute(array, 0); } public static void doPermute(Character[] array, int start) { if (start == array.length - 1) { Utils.print(array); return; } int label = start; while (label <= array.length - 1) { Utils.swap(array, start, label); doPermute(array.clone(), start + 1); label++; } } public static void main(String[] args) { Character[] array = { 'a', 'b', 'c', 'd' }; AllPermutation.doPermute(array); } }