1、输入一个字符串,打印出该字符的所有排列,如输入abc,输出abc acb bac bca cab cba
/*
* author by xzb
* 字符串的排列
* 2013.9.2
*/
package com.xzb.String;
public class Perm
{
public static void main(String[] args)
{
String s = "abc";
char[] input = s.toCharArray();
perm(input, 0, input.length);
}
public static void perm(char[] a, int start, int end)
{
int j;
if (start == end)
{
for (int i = 0; i < a.length; i++)
{
System.out.print(a[i]);
}
System.out.print(" ");
} else
{
for (j = start; j < end; j++)
{
swap(a, j, start);
perm(a, start + 1, end);
swap(a, j, start);
}
}
}
public static void swap(char[]data, int a, int b)
{
char temp = data[a];
data[a] = data[b];
data[b] = temp;
}
}