package com.etoak.test;
import java.util.HashSet;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
// ȫ����
// 全排列
String str = "abc";
HashSet<String> set = new HashSet<String>();
fun1(set, 0, str.length() - 1, str.toCharArray());
// System.out.println(set);
for (Iterator<String> car = set.iterator(); car.hasNext();) {
System.out.println(car.next());
}
}
private static void fun1(HashSet<String> set, int from, int to, char[] arr) {
if (from == to) {
set.add(new String(arr));
}
for (int i = from; i <= to; i++) {
swap(arr, i, from);
fun1(set, from + 1, to, arr);
swap(arr, i, from);
}
}
private static void swap(char[] arr, int i, int j) {
char temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
17、全排列
最新推荐文章于 2024-07-29 14:22:26 发布