public static boolean next(int[] count, int[] idx){
idx[0] = idx[0] + 1;
for(int i=0; i<idx.length; i++){
if(idx[i]>=count[i]){
if(i==idx.length-1){
return false;
}
idx[i+1] = idx[i+1] +1;
idx[i] = 0;
}else{
return true;
}
}
return false;
}
public static void genNames(){
String[] fileds = {
"赵钱",
"红青紫",
"花云天山海",
};
int[] counts = new int[fileds.length];
int[] idxs = new int[fileds.length];
for(int i=0; i<fileds.length; i++){
counts[i] = fileds[i].length();
idxs[i] = 0;
}
do {
String name = "";
for(int i=0; i<fileds.length; i++){
name += fileds[i].charAt(idxs[i]);
}
//System.out.print(name);
System.out.println(name);
}while (next(counts, idxs));
}
public static void main(String[] args) {
genNames();
}
运行结果:
============================
赵红花
钱红花
赵青花
钱青花
赵紫花
钱紫花
赵红云
钱红云
赵青云
钱青云
赵紫云
钱紫云
赵红天
钱红天
赵青天
钱青天
赵紫天
钱紫天
赵红山
钱红山
赵青山
钱青山
赵紫山
钱紫山
赵红海
钱红海
赵青海
钱青海
赵紫海
钱紫海
分享到:
相关推荐
自己写的基于字符的全排列算法,代码简洁,高效,7位数的全排列都是秒排!用到了广度优先排列,深度优先搜索和几个递归,唯一没完成的是退出时释放内存,呵呵,破解密码时超有用的哟,,
全排列算法
全排列算法 实例 一种实现了n个数全排列的算法 全排列算法 实例 一种实现了n个数全排列的算法
全排列算法: 比如字符串abc,全排列结果为abc,acb,bac,bca,cba,cab。
全排列算法
基于全排列算法的完整代码解析,可供理解搜索的技巧,有很高的使用价值
全排列算法详细解析(完整版)
使用递归实现的全排列算法,输出所有的全排列。 各种主流程序设计语言实现!
实现了字典序法、递增进位制数法、递减进位制数法、邻位对换法四种全排列算法。全排列算法有很多种,这里只是其中的一些,可以调试运行比较一下各种算法的效率。(该代码为初级版本,注重算法的实现,在交互方面需要...
利用中介数实现全排列算法,采用java实现。
实现全排列组合的算法,供大家学习与参考。在需要对排列组合做差异分析的时候可以直接使用。例如:几个正则式的不同排列组合对匹配效果的影响
组合数学中六种全排列算法详细解析,对于自学很有帮助哦,这里没有代码。
实现了全排列算法,每个元素用char类型表示,用递归算法,比较简洁实用。
交换算法得到全排列,排列组合的全排列算法(交换算法)
用objective-c实现全排列算法,用数组来保存全排列排列的结果
采用了一种简单的方法,实现了计算n个数的全排列。尚有待改进。
全排列算法设计分析.ppt
在程序设计过程中,我们往往要对一个序列进行全排列或者对每一个排列进行分析。...本文主要通过对全排列以及相关算法的介绍和讲解、分析,让读者更好地了解这一方面的知识,主要涉及到的语言是C和C++。
希望对需要的人有所帮助:) 希望对需要的人有所帮助:) 希望对需要的人有所帮助:)
关于全排列算法。。。。