函数头文件:#include<algorithm>
①next_permutation(a,a+n):计算下一个排列,从123——321。
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[3] = { 1, 2, 3 }; //初始数组必须有序
do {
for (int i = 0; i < 3; i++) {
cout << a[i] << " ";
}
cout << endl;
} while (next_permutation(a, a + 3)); //注意要使用do-while函数进行循环,否则会漏掉第一个排列
return 0;
}
输出结果:
②prev_permutation(a,a+n):计算上一个排列,从321——123。
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[3] = { 3, 2, 1 }; //初始数组必须有序
do {
for (int i = 0; i < 3; i++) {
cout << a[i] << " ";
}
cout << endl;
} while (prev_permutation(a, a + 3)); //注意要使用do-while函数进行循环,否则会漏掉第一个排列
return 0;
}
输出结果: