是否有一些等效的库或函数可以为我提供像next_permutation这样的一组值的下一个组合?
嗨我使用c ++,我可以找到一个简单的方法从一组数字中获取一个数组,其中包含ex:{1,2,3}之间的所有可能组合
{ {3,1,2},
{1,2,3},
{3,2,1},
{1,3,2},
{2,1,3},
{2,3,1}
};
Run Code Online (Sandbox Code Playgroud)
问题是如果我得到5个或更多数字如何使120组合
假设我有一个数字范围,比如{2,3,4,5},按顺序存储在a中std::vector v,并且我想列出所有可能的子集,以5结尾使用STL ...即:
2 3 4 5
2 3 5
2 4 5
3 4 5
2 5
3 5
4 5
5
Run Code Online (Sandbox Code Playgroud)
(我希望我不要忘记任何:))
我试过用while(next_permutation(v.begin(),v.end()))但没想出想要的结果:)
有没有人有想法?
PS:那些已经完成谷歌代码堵塞2010年档案的人可能会认识到这一点:)