next_permutation函数的使用

来源:互联网 发布:飞利浦脱毛器 知乎 编辑:程序博客网 时间:2024/05/16 14:58
#include<iostream>#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;int main(){    int a[]={1,2,3};    do{        printf("%d %d %d\n",a[0],a[1],a[2]);    }while(next_permutation(a,a+3));    return 0;}
next_permutation函数把所有的排列按照字典树输出来,全排列算法

对于字符串的输入同样适用,例如输入asd

#include<iostream>#include<string.h>#include<algorithm>#include<stdio.h>using namespace std;int main(){    string str;    cin>>str;    sort(str.begin(),str.end());    cout<<str<<endl;                                //把第一个输出即ads    while(next_permutation(str.begin(),str.end()))    {        cout<<str<<endl;                          //输出剩下的5个    }}



0 0
原创粉丝点击