public class AllSort {
private static Set<String> charSequence = new LinkedHashSet<String>();
private static List<String> result = new ArrayList<String>();
static {
charSequence.add("A");
charSequence.add("B");
charSequence.add("C");
charSequence.add("D");
charSequence.add("E");
charSequence.add("F");
}
public static void main(String[] args) {
perm(charSequence.size(), "");
for (int i = 0; i <result.size(); i++) {
System.out.println(i+1+":"+result.get(i));
}
}
/**
*
* @param level还要拼接的次数
* ,level如果等于0说明字符串拼接完成退出递归
* @param toAppend
* 已经拼接的字符串
*/
public static void perm(int level, String toAppend) {
if (level > 0) {
for (String s : charSequence) {
// 不加if判断为求组合的写法
if (!toAppend.contains(s)) {
perm(level - 1, s + toAppend);
}
}
} else {
result.add(toAppend);
}
}
}
private static Set<String> charSequence = new LinkedHashSet<String>();
private static List<String> result = new ArrayList<String>();
static {
charSequence.add("A");
charSequence.add("B");
charSequence.add("C");
charSequence.add("D");
charSequence.add("E");
charSequence.add("F");
}
public static void main(String[] args) {
perm(charSequence.size(), "");
for (int i = 0; i <result.size(); i++) {
System.out.println(i+1+":"+result.get(i));
}
}
/**
*
* @param level还要拼接的次数
* ,level如果等于0说明字符串拼接完成退出递归
* @param toAppend
* 已经拼接的字符串
*/
public static void perm(int level, String toAppend) {
if (level > 0) {
for (String s : charSequence) {
// 不加if判断为求组合的写法
if (!toAppend.contains(s)) {
perm(level - 1, s + toAppend);
}
}
} else {
result.add(toAppend);
}
}
}