Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 向量上的唯一置换_C++_Algorithm_Stl_Permutation - Fatal编程技术网

C++ 向量上的唯一置换

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个容器来查找所有组合。这两个组合不是“重复”。根据定义,排列包括所有元素。如果你想要的不是真正的排列,你必须寻找你想要的东西的正确名称,或

我需要取向量中3个元素的所有可能的唯一组合
std::next_排列
有效,但它给了我很多重复项

比如说

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


前三个元素是相等的,所以我做了多余的工作。有没有有效的方法来迭代唯一的组合?

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

N=b!/(b-k)!
接下来,通过迭代初始列表并用所有这些组合填充N个容器来查找所有组合。

这两个组合不是“重复”。根据定义,排列包括所有元素。如果你想要的不是真正的排列,你必须寻找你想要的东西的正确名称,或者更清楚地描述它:)我想他想要所有的排列,嗯,好的,但我想他可能只想要组合,而不是组合的排列。让我们等他告诉我们他到底想要什么。这是正确的。谢谢你提到正确的名字:)这是非常有用的。这是它的家伙。非常感谢。