全排列

2020-11-09  本文已影响0人  优劣在于己

对于函数prev_permutation()与next_permutation()全排列的用法
直接观察输入输出,一目了然,用的时候记得给原数组排个序,具体你要用哪个,看自己吧

对了!头文件是#include<algorithm>!!!


函数prev_permutation()的用法:

#include<stdio.h>
#include<algorithm>
#include<iostream>
using namespace std;
int main(){
    int arr[]={3,2,1};
    cout<<"用prev_permutation对123进行的全排序"<<endl;
    do{
        cout<<arr[0]<<arr[1]<<arr[2]<<endl;
    }while(prev_permutation(arr,arr+3));//大到小
}
输出:
用prev_permutation对123进行的全排序
321
312
231
213
132
123

函数next_permutation()的用法:
#include<stdio.h>
#include<algorithm>
#include<iostream>
using namespace std;
int main(){
    int arrl[]={1,2,3};
    cout<<"用next_permutation对123全排序"<<endl;
    do{
        cout<<arrl[0]<<arrl[1]<<arrl[2]<<endl;
    }while(next_permutation(arrl,arrl+3));//小到大
}
输出
用next_permutation对123全排序
123
132
213
231
312
321
上一篇下一篇

猜你喜欢

热点阅读