1.next_permutation函数:
| 默认 (1) | template <class BidirectionalIterator>
bool next_permutation (BidirectionalIterator first,
BidirectionalIterator last);
|
|---|---|
| 定制 (2) | template <class BidirectionalIterator, class Compare>
bool next_permutation (BidirectionalIterator first,
BidirectionalIterator last, Compare comp); |
next_permutation()会取的 [frist,last)所标示之序列的下一个排列,如果没有下一个排序,便会返回false;否则返回true;
基本代码:
#include<bits/stdc++.h>
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;
}
运行结果:
D:\nowcode\cmake-build-debug\Precision.exe
123
132
213
231
312
321
进程已结束,退出代码为 0
例题练习:
2.prev_permutation函数
prev_permutation()会取的[first,last)所标示之序列的上一个排列,如果没有下一个排列,便返回false;否则返回true.
| 默认 (1) | template <class BidirectionalIterator>
bool prev_permutation (BidirectionalIterator first,
BidirectionalIterator last );
|
|---|---|
| 定制 (2) | template <class BidirectionalIterator, class Compare>
bool prev_permutation (BidirectionalIterator first,
BidirectionalIterator last, Compare comp); |
475

被折叠的 条评论
为什么被折叠?



