C++ 向量上的唯一置换
我需要取向量中3个元素的所有可能的唯一组合C++ 向量上的唯一置换,c++,algorithm,stl,permutation,C++,Algorithm,Stl,Permutation,我需要取向量中3个元素的所有可能的唯一组合std::next_排列有效,但它给了我很多重复项 比如说 (1,2,3,4,5) 和 (1,2,3,5,4) 前三个元素是相等的,所以我做了多余的工作。有没有有效的方法来迭代唯一的组合?首先,您必须计算出可以从b个对象中挑选出的k个对象的N个组合 N=b!/(b-k)! 接下来,通过迭代初始列表并用所有这些组合填充N个容器来查找所有组合。这两个组合不是“重复”。根据定义,排列包括所有元素。如果你想要的不是真正的排列,你必须寻找你想要的东西的正确名称,或
std::next_排列
有效,但它给了我很多重复项
比如说
(1,2,3,4,5)
和
(1,2,3,5,4)
前三个元素是相等的,所以我做了多余的工作。有没有有效的方法来迭代唯一的组合?首先,您必须计算出可以从b个对象中挑选出的k个对象的N个组合 N=b!/(b-k)!
接下来,通过迭代初始列表并用所有这些组合填充N个容器来查找所有组合。这两个组合不是“重复”。根据定义,排列包括所有元素。如果你想要的不是真正的排列,你必须寻找你想要的东西的正确名称,或者更清楚地描述它:)我想他想要所有的排列,嗯,好的,但我想他可能只想要组合,而不是组合的排列。让我们等他告诉我们他到底想要什么。这是正确的。谢谢你提到正确的名字:)这是非常有用的。这是它的家伙。非常感谢。