next_permutation

  1. 依次按字典序升序进行排列的全排列
  2. next_permutation()会取得[first,last)所标示之序列的下一个排列组合,如果没有下一个排列组合,便返回false;否则返回true。\(\color{red}{注意!!!是左闭右开}\)

使用方法:

1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<algorithm>
int main()
{
int a[4] = {1, 2, 3, 4};
do
{
for(int i = 0; i < 4; i++) cout << a[i] << " ";
cout << '\n';
}while(next_permutation(a, a + 4));
return 0;
}

prev_permutation

与next_permutation类似,只是是按字典序降序进行全排列