0

我需要在一个向量中采用 3 个元素的所有可能的唯一组合。 std::next_permutation有效,但它给了我很多重复。

例如

(1, 2, 3, 4, 5) 和 (1, 2, 3, 5, 4)

我采用的前 3 个元素是相等的,所以我在做多余的工作。是否有任何有效的方法来迭代独特的组合?

4

1 回答 1

-1

首先,您必须计算出可以从b个对象中挑选出的k个对象组合的数量N。

N = 乙!/ (b - k)!

接下来,您通过遍历初始列表并用所有这些组合总共填充 N 个容器来找到所有组合。

于 2013-03-02T00:12:32.823 回答