<algorithm>
1,sort(a,a+n)
2,stable_sort(a,a+n)
稳定排序,相同值不改变相对位置
3,reverse(a,a+n)
反转一个区间的元素
4,unique(a,a+n)
将一个已经排序的区间内的重复的数去掉,返回值为一个指针。
5,swap(&a,&b)
6,__gcd(num1,num2)
7,next_permutation(a,a+n)
全排列
求这几个数的下一个全排列
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int a[4]={1,2,3,4};
sort(a,a+4);
do{
for(int i=0;i<4;i++)
printf("%d",a[i]);
printf("\n");
}while(next_permutation(a,a+4));
return 0;
}
8,pre_permutation(a,a+n)
9,
int len = unique(a,a+n)-a;
求这个数的上一个全排列。
代器的内容:
[内容链接](http://c.biancheng.net/view/338.html)
(1),首先可以把迭代器操作看成是生成一个指针,
(2),注意在这里面对++j和j++的比较。
8,int place=lower_bound(a,a+n,10)
寻找已经排好序的数组a中的第一个不小于10的元素所在的位置。
9,int place=upper_bound(a,a+n,10)
寻找第一个大于给定值的所在的位置。
<string>
[内容链接](https://blog.csdn.net/qq_37941471/article/details/82107077)