`
qianlong1207
  • 浏览: 35641 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

排列组合

    博客分类:
  • J2EE
 
阅读更多

package com.pnova.demo;

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

/**
 * 类名称:Range
 * 创建人:qian.long
 * 创建时间:2011-8-9 下午05:44:17
 * 修改人:qian.long
 * 修改时间:2011-8-9 下午05:44:17
 * 修改备注:
 * @version
 */
public class Range {
	
	public static void main(String[] args) {
		String[] a1 = new String[]{"38码", "39码"};
		String[] a2 = new String[]{"黑色", "白色"};
		String[] a3 = new String[]{"ys1001", "ys1002"};
		List<String[]> list = new ArrayList<String[]>();
		list.add(a1);
		list.add(a2);
		list.add(a3);
		List<String> rlist = new ArrayList<String>();
		rlist = Range.test(list, a1, "", rlist);
		for (String str : rlist) {
			System.out.println(str);
		}
	}

	/**
	 * 排列组合
	 * @Title: test 排列组合
	 * @Description: TODO 排列组合
	 * @param list 需要排列组合的数组list
	 * @param arr 第一个数组
	 * @param str 
	 * @param rlist 组合完的字符串list
	 * @return List<String>
	 * @author qian.long
	 */
	public static List<String> test(List<String[]> list, String[] arr, String str, List<String> rlist) {
		//迭代list 
		for(int i = 0; i < list.size(); i++) { 
			//取得当前的数组 
			if(i == list.indexOf(arr)) { 
				//迭代数组 
				for (int j = 0; j < arr.length; j++) {
					String st = arr[j].trim();
					if(i == 0) {
						st = str + st;
					} else {
						st = str + " " + st;
					}
					if(i < list.size() - 1) { 
						test(list, list.get(i + 1), st, rlist); 
					} else if(i == list.size() - 1) {
						rlist.add(st);
						//System.out.println(st); 
					} 
				} 
			}
		}
		return rlist;
	}
}
 
分享到:
评论

相关推荐

    C#实现排列组合算法完整实例

    排列组合是常见的数学问题,本文就以完整实例形式讲述了C#实现排列组合算法的方法。分享给大家供大家参考之用。具体方法如下: 首先,数学中排列组合,可表示为:排列P(N,R) 其实排列实现了,组合也就实现了,组合...

    基于c语言排列组合算法

    该文档对排列组合问题的算法设计问题进行一系列讲述

    PHP实现多种类型的排列组合算法

    PHP实现多种类型的排列组合算法,PHP多种方式实现排列组合算法。非常有用,欢迎下载。

    qtc++排列组合实现

    qt c++ 排列组合 实现 没分的联系本人索要

    算法 排列组合生成器 后端

    排列组合生成器,支持筛选,存储采用h2数据库,后台采用springboot框架

    excel VBA - 排列组合生成算法 - 可指定和值 - 可输出文本文件.xls

    excel VBA - 排列组合生成算法 - ,可快速生成指定项目的所有排列组合

    淘宝直通车排列组合小工具

    tata_bear原创了排列组合小工具,只要您输入最贴切的关键词,排列组合的工作就交给这个小工具吧,用时不到1秒钟,它会把所有的排列组合结果都呈现给您。而且界面的提示信息非常的清楚友好啊! 有了这个软件,组合...

    排列组合公式排列组合计算公式[规整].pdf

    "排列组合公式" 排列组合是数学中一个重要概念,它用于计算从一个集合中选择若干元素的方法数。排列和组合是两种不同的概念,排列强调元素的顺序,而组合不强调顺序。 排列(Permutation): * 排列是指从一个...

    java排列组合算法

    排列组合 排列 组合 java排列组合算法 排列组合算法

    TaobaoKeyword(Ver1.2)排列组合软件

    开通淘宝直通车的店家...tata_bear原创了排列组合小工具,只要您输入最贴切的关键词,排列组合的工作就交给这个小工具吧,用时不到1秒钟,它会把所有的排列组合结果都呈现给您。而且界面的提示信息非常的清楚友好啊!

    计算数字排列组合,任意数字的组合。

    计算数字排列组合,可以组合出任意数字的组合

    排列组合计算器工具v1.0中文绿色免费版

    排列组合计算器是一个方便计算排列组合的小工具,解压缩得到exe文件后,直接运行 排列组合计算方法 排列(Pnm(n为下标,m为上标)) 数n的阶乘:n!=n(n-1)(n-2)...2×1 Pnm=n×(n-1)....(n-m 1);Pnm=n!/(n-m...

    从n个数组中取出所有排列组合(Java实现)

    从n个数组中取出所有排列组合(Java实现)

    易语言数字排列组合学习源码

    易语言数字排列组合源码,算出了1到5的所有排列,读者有兴趣可以研究或者自行改进!

    c语言排列组合

    小小wintc程序 计算排列组合代吗 用递归写的 呵呵

    vb写的排列组合相关小程序

    vb写的排列组合相关小程序,实现从n个数中列举出那几个相加能够得到指定结果的所有情况,用递归实现的,效率差强人意,赚点分先。。。

    excel排列组合-组合工具

    excel排列组合-组合工具,输入下面8个值(数量不限): 条件1 条件2 条件3 条件4 条件5 条件6 条件7 条件8 自动把几个值得组合全部列出来(组合数量可以任意设定): 条件1 条件2 条件3 条件4 条件2 条件3 条件4...

    基于hadoop用并行递归实现排列组合运算

    数字排列组合是个经典的算法问题,它很通俗易懂,适合不懂业务的人学习,我们通过它来发现和运用并行计算的优势,可以得到一个很直观的体会,并留下深刻的印象。问题如下: 请写一个程序,输入M,然后打印出M个...

    简单的排列组合(三下数学)

    小学数学三年级下册中的数学广角——简单的排列组合的教学课件。从学生感兴趣的小活动开始,引起学生的学习兴趣,用他们学过的知识一步一步进入本次教学的重点——有规律的不遗漏的列出所有的排列可能。

Global site tag (gtag.js) - Google Analytics