C++ STL中的next_permutation()函数

这个函数,可以用来生成所有可能的排列组合形式

常用调用方式

do
{
    //do something
}while (next_permutation(a.begin(), a.end()));

和STL的大多数函数一样,只需要提供begin和end即可。当所有的可能性被枚举完的时候,返回false,循环结束。

对于排好序的数组,比如1 2 3,在这个函数的使用下,数组会出现

123

132

213

231

312

321

的形式。此时我们只要在循环体内做我们想做的事情即可,比如确认合法性。

对于排好序的字符串,可以按照字典序的方式输出。

发表评论

电子邮件地址不会被公开。 必填项已用*标注