C++STL中的全排列函数

C++STL中的全排列函数为两个:next_permutation和prev_permutation
其中:next_permutation实现升序,而prev_permutation实现降序

下面以123的全排列为例:

1)next_permutation实现

#include<bits/stdc++.h>
using namespace std;
int main(){
    int s[3]={1,2,3};
    /**下面为next_permutation的用法*/
    do
    {
        printf("%d %d %d\n",s[0],s[1],s[2]);
    }while(next_permutation(s,s+3));
    return 0;
}

 输出:

 

2)prev_permutation实现

#include<cstdio>
#include<bits/stdc++.h>
using namespace std;
int main(){
    int s[3]={1,2,3};
    /**下面为prev_permutation的用法*/
    do{
        printf("%d %d %d\n",s[0],s[1],s[2]);
    }while(prev_permutation(s,s+3));
}

输出:

posted @ 2021-01-03 17:39  Euclid·Guisi  阅读(212)  评论(0编辑  收藏  举报