使用数组创建每个可能的组版本

时间:2018-01-21 20:59:21

标签: java algorithm

我有一份学校作业,我得到一个包含25个名字的文件,我创建了每个可能的2人组合。

当它通过25个名称循环时,它必须再次执行它并创建一个新的唯一列表。 这必须继续,直到没有可能的组合。
没有一个列表被允许相同,一个人只允许与某人配对一次。因此,人员不能与2个不同列表中的人2配对。

我一直在搜索我可以使用的算法。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

确实有两个嵌套循环,但不是那么简单:外部循环遍历所有名称并继续直到倒数第二个名称(一个在最后一个之前),内部循环以下一个名称开头并将每个名称与外部对齐循环名称。

举一个简短的例子,假设只有4个名字:A,B,C和D.外环的第一次迭代给出AB,AC,AD,第二次迭代BC,BD和最后一次迭代CD。 / p>

这不是笛卡尔积,它是一组有序对,OP特别以相当迂回的方式表示订单无关紧要。