全排列函数
引入头文件
#include <algorithm>
函数原型
bool next_permutation(iterator start,iterator end)
示例1
//next_permutation(arr,arr+n)函数是对数组arr中的前n个元素进行全排列,同时并改变arr数组的值
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int arr[3]={1,2,3};
do
{
cout<<arr[0]<<" "<<arr[1]<<" "<<arr[2]<<endl;
}while(next_permutation(arr,arr+3));
return 0;
}
/*
输出结果为
123
132
213
231
312
321
*/
示例2
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int arr[3]={1,2,3};
do
{
cout<<arr[2]<<" "<<arr[1]<<" "<<arr[0]<<endl;
}while(next_permutation(arr,arr+2));
return 0;
}
/*
输出结果为
312
321
只有arr[0],arr[1]进行全排列
arr[2]未进行全排列
*/
例题:1002