您的位置:首页 > 编程语言 > Java开发

Java实现排列组合--递归

2017-03-09 13:58 597 查看
多个数组排列组合

如下:

String[] color = { "红", "蓝","黑"};  
String[] size = { "S", "M", "L" };  
String[] other = { "a", "b" };
... ...
 
排列结果:

红,S,a
红,S,b
红,M,a
红,M,b
红,L,a
红,L,b
蓝,S,a
蓝,S,b
蓝,M,a
蓝,M,b
蓝,L,a
蓝,L,b
黑,S,a
黑,S,b
黑,M,a
黑,M,b
黑,L,a
黑,L,b
... ...

示例代码:

package com.test;

import java.util.ArrayList;
import java.util.List;

public class Test {
public static void main(String[] args) {
String[] color = { "红", "蓝","黑"};
String[] size = { "S", "M", "L" };
String[] other = { "a", "b" };
List<String[]> list = new ArrayList<String[]>();
list.add(color);

a9a7
list.add(size);
list.add(other);
sorting (list, color, "");
}

public static void sorting (List<String[]> list, String[] arrs, String str) {
for (int i = 0; i < list.size(); i++) {
//取得当前的数组
if (i == list.indexOf(arrs)) {
//迭代数组
for (String arr : arrs) {
arr = str + arr;
if(i < list.size() - 1){
arr = arr + ",";
sorting (list, list.get(i + 1), arr);
} else if (i == list.size() - 1) {
System.out.println(arr);
}
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息