STL next_premutation函数的C++和C的作用。

来源:互联网 发布:ubuntu mate 安装pyqt 编辑:程序博客网 时间:2024/06/05 09:31

众所周知有很多情况是求一个序列的所有排列。我们可以用STL里next_premutation函数表示出来比较方便。

#include <iostream>#include <algorithm>#include <string> using namespace std; int main(){    string str;    cin >> str;    sort(str.begin(), str.end());    cout << str << endl;    while (next_permutation(str.begin(), str.end()))    {        cout << str << endl;    }    return 0;}

然后还可以用C的int型数组也能进行实现。

#include <cstdio>#include <algorithm>#include <cstring>#include <iostream>using namespace std;int main(){int a[100],i,n;scanf("%d",&n);for (i=0;i<n;i++)scanf("%d",&a[i]);//sort(a,a+n);sort(a,a+n);do{for (i=0;i<n;i++)printf("%d ",a[i]);printf("\n");}while (next_permutation(a,a+n));return 0;}


0 0
原创粉丝点击