这个函数,可以用来生成所有可能的排列组合形式
常用调用方式
do { //do something }while (next_permutation(a.begin(), a.end()));
和STL的大多数函数一样,只需要提供begin和end即可。当所有的可能性被枚举完的时候,返回false,循环结束。
对于排好序的数组,比如1 2 3,在这个函数的使用下,数组会出现
123
132
213
231
312
321
的形式。此时我们只要在循环体内做我们想做的事情即可,比如确认合法性。
对于排好序的字符串,可以按照字典序的方式输出。