[转]全排列 - 递归实现
public class Combination {public static void main(String[] args) {String str = "abc";combination(str);}public static void combination(String str) {char[] arr = str.toCharArray();comCombination(arr, 0);}private static void comCombination(char[] arr, int index) {if (index == arr.length - 1) {for (int i = 0; i < arr.length; i++) {System.out.printf("%c ", arr[i]);}System.out.println();return;}comCombination(arr, index + 1);for (int i = index + 1; i < arr.length; i++) {arr[index] ^= arr[i];arr[i] ^= arr[index];arr[index] ^= arr[i];comCombination(arr, index + 1);arr[index] ^= arr[i];arr[i] ^= arr[index];arr[index] ^= arr[i];}}}OUTPUT:a b c a c b b a c b c a c b a c a b