next_permutation(全排列)

废话不多说,直接上代码,谁测试,谁知道

C++:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

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:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

int main()
{
    //freopen("input.txt","r",stdin);
    char str[1000];
    gets(str);
    int length = strlen(str);
    sort(str,str+length);
    puts(str);
    while(next_permutation(str,str+length)){
        puts(str);
    }
    return 0;
}

测试数据:zxgffeeddb

C语言版本的本机运行了23.695s,C++版本的本机运行了58.861s……C的效率比C++的效率高了一倍多……

C语言牛逼!

posted @ 2017-11-20 20:26  叶梨子  阅读(110)  评论(0编辑  收藏  举报