【STL】 next_permutation用法

来源:互联网 发布:淘宝助理怎么上架商品 编辑:程序博客网 时间:2024/05/29 14:47


关于nextpermutation,应该是相对方便的一个STL工具,它的返回值是一个bool类型,这个函数本身的作用就是返回当前序列的下一个字典序,当这个序列没有下一个字典序后,也就是当前序列的字典序最大的时候,返回false。结合while循环,可以求出整个的字典序。


#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define maxn 20int main (){char arr[maxn];while(scanf("%s",&arr) != EOF){int len = strlen(arr);sort(arr,arr+len);do{printf("%s\n",arr);}while(next_permutation(arr,arr+len));}return 0;}

当然,也可以不用sort,那么返回的就是输入字符串的后面的字典序列。

0 0