public static void permute(char[] str, int start) {
int length = str.length - 1;
if (start > length) {
System.out.println(str);
} else {
for (int i = start; i <= length; i++) {
char[] temp = str.clone(); // temp will be str
temp[i] = str[start]; // with i and low
temp[start] = str[i]; // swapped
permute(temp, start + 1);
}
}
}
permute(new char[]{'a','b','c'},0);
这个好理解一些
public void printAll(List candidate, String prefix) {
if (candidate.size() == 1) {
System.out.println(prefix + candidate.get(0));
} else {
for (int i = 0; i < candidate.size(); i++) {
List temp = new LinkedList(candidate);
printAll(temp, prefix + temp.remove(i));// 递归调用
}
}
}
printAll(list,"");
分享到:
相关推荐
主要介绍了Java实现字符数组全排列的方法,涉及Java针对字符数组的遍历及排序算法的实现技巧,需要的朋友可以参考下
JAVA递归实现全排列算法,含实现源代码,如a、b、c、d的全排列为: abcd abdc acbd acdb adcb adbc bacd badc bcad bcda bdca bdac cbad cbda cabd cadb cdab cdba dbca dbac dcba dcab dacb dabc
java实现全排列
Java 全排列算法实现,网上搜的,然后整理了一下。呵呵`````
这是一个Java编写的数组的全排列程序 如一个数组 a,b,c,d 它的全排列为: a b c d a b d c a c b d a c d b a d b c a d c b b a c d b a d c b c a d b c d a b d a c b d c a ……
题目描述:给定一个数列a1,a2,a3…an,输出他所有的全排列。 算法设计描述: 1、获取当前的一种排列,用start,end分别表示该排列的列头,列尾; 2、判断start是否和end相等,若相等,执行3,否则执行4; 3、将当前...
只用了一维长度为9的数组 全排列问题可以看做简化规则的八皇后问题噢!!
java 递归,abcd全排列,非常简单的。
非常好用的java打印组件非常好用的java打印组件非常好用的java打印组件
全排列算法
java 打印pdf文件 ,也可支持批量打印
java6打印插件,如果不行就安装java8安装工具
很不错的java打印程序,内有java打印及java定位打印,值得拥有.
Java web 打印,Java pdf打印,Java打印
Java写的源码,解决各种字符串全排列问题,已解决重复问题,经过上机调试可直接运行
1、java开发必备工具类,兼容了所有版本的JDK,包含了各种类型的打印,可以打印文本、图片、二维码、订单、病历单等信息,应有尽有,功能强大,代码简洁,使用简单,直接拷贝使用即可; 2、本工具类经过了很多项目...
实际上,SUN公司也一直致力于Java打印功能的完善,而Java2平台则终于有了一个健壮的打印模式的开端,该打印模式与Java2D图形包充分结合成一体。更令人鼓舞的是,新发布的jdk1.4则提供了一套完整的"Java 打印服务 API...
全排列的非递归实现。 输入1,2,3,4 得到 [1 2 3 4]..........[4 3 2 1]所有24种排列
java 打印excel
Java实现打印机精确打印示例。给那些需要java打印的朋友们。