首页 新闻 会员 周边 捐助

N个数组,从每个数组中取出1个 求所有的组合

0
悬赏园豆:10 [已解决问题] 解决于 2014-09-13 09:39

C# 实现 希望有代码+思路     具体是商城的sku规格问题         

N个数不确定

mushishi的主页 mushishi | 菜鸟二级 | 园豆:430
提问于:2014-09-12 11:59
< >
分享
最佳答案
0

排列组合数, 这个是最基本的,所有可能性就是

M*N*K*J*O*P,

M、N、K、J、O、P分别是每个数组里面的无素个数。

代码:

for each itemArray in Array

  for each element in itemArray

    

  next for

next for

好象只要这样两层循环代码就可以了。

收获园豆:10
爱编程的大叔 | 高人七级 |园豆:30844 | 2014-09-12 12:47

总的组合个数是这样求没错      你这两层循环把所有元素取出来而已吧  并不是我要的 所有组合

mushishi | 园豆:430 (菜鸟二级) | 2014-09-12 13:43

@mushishi: 你每进入一次循环就将前面所有的组合CLONE X个,再附加上当前循环的X个不同的元素。

最后两个循环全部完成,就得到了M*N*K*J*O*P个元素组合了。

爱编程的大叔 | 园豆:30844 (高人七级) | 2014-09-12 14:46

@爱编程的大叔:   我用递归实现了 多谢~   还在思考 根据总的组合数来循环怎么实现

mushishi | 园豆:430 (菜鸟二级) | 2014-09-12 15:14
其他回答(3)
0

sql数据库中的交叉连接的概念

 

好吧  是笛卡尔乘积

nil | 园豆:886 (小虾三级) | 2014-09-12 12:00

嗯嗯 C# 笛卡尔积实现

支持(0) 反对(0) mushishi | 园豆:430 (菜鸟二级) | 2014-09-12 15:36
0

N数组,就是一个二维数据,

思路就是遍历二维数组,再遍历数组.

吴瑞祥 | 园豆:29449 (高人七级) | 2014-09-12 12:17

第二次循环怎么写  ?  

支持(0) 反对(0) mushishi | 园豆:430 (菜鸟二级) | 2014-09-12 13:42
0

数学上 排列组合 知识  

wolfy | 园豆:2636 (老鸟四级) | 2014-09-12 13:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册