php - 从列表中查找 double (具有两个元素)的所有组合

标签 php c algorithm combinations

假设我的 list 是 {1,2,3,4}

我的标题可能描述性不够,但这是我想做的.. 我希望我的代码生成以下内容

{ (1,2) , (3,4) }

{ (1,3) , (2,4) }

{ (1,4) , (2,3) }

{ (2,1) , (4,3) }

{ (3,1) , (4,2) }

{ (4,1) , (3,2) }

即我想要该组的所有 4C2 组合。

注意:这里最初的四个元素只是一个说明性数字。数字可能会变化到 8 或 10。

现在,我该如何为它编写代码(用 C 或 PHP)。

基本上,我想知道算法。不是全部。,即使是先发制人也足够好了。 我只是想不出有什么可以开始的。 请帮忙。 谢谢。

我想我没解释好;实际上我自己没有遇到问题。 我想要的是,假设我有 4 支球队,我想让每支球队与另一支球队比赛,那么我如何生成所有的固定装置。 在我上面的例子中;将 1、2、3、4 视为 4 个团队。和 {(1,2), (3,4)} 作为一组固定装置等。 我该怎么做呢。 因此我需要的是生成所有 NC2/(N/2) 组固定装置。 (本例中 N=4)

最佳答案

Basically, i want to know the algorithm. not the whole of it., even a headstart will be good enough.. I just cant think of anything to start from.

如果您想要抢先一步,Python 文档会显示用于实现组合函数的算法。将 range() 替换为普通的 for 循环,将 yield 替换为 printf,应该很容易将其转换为 C 或 PHP:http://docs.python.org/library/itertools.html#itertools.combinations

请注意一次取两个的四个事物的组合产生:(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), ( 3、4)。您的示例输出还包括每个的补码(即 (1, 2) 伴随着 (3, 4))。

关于php - 从列表中查找 double (具有两个元素)的所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8557680/

相关文章:

PHP preg_replace 单词但如果单词前面有某些字符则不会

algorithm - 在 1 GB 内存中排序 10GB 数据。我将如何做?

php - 如何安排邮件在每周四下午 1 点发送

PHP/MySQL - 同时进行多个查询

c - 将视频文件的每一帧映射到指向原始帧的 .png

使用c中的用户输入和函数计算数组的总和和平均值

android - 当蓝牙连接在 c 中丢失时,蓝牙读取线程不会退出

algorithm - ACM MIPT - 图存在性难题 - 示例不清楚

algorithm - 解决递归关系的 Akra–Bazzi 方法?

php - CakePHP 业务逻辑层