- fill()
fill()可以把数组或者容器中的一段区间赋值为某个相同的值,和memset不同,这里的赋值可以使数组类型对应范围中的任意值。
PS:终于不用循环遍历赋值了~~
int a[5] = {1,23,3,4,5};
fill(a,a+5,233)//将a[0]到a[4]全部赋值为233
- next_permutation()
next_permutation()给出一个序列在全排列中的下一个序列
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a[10] = {1,2,3};
do{
cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
}while(next_permutation(a,a+3));
return 0;
}
//打印结果
//1 2 3
//1 3 2
//2 1 3
//2 3 1
//3 1 2
//3 2 1
- lower_bound()和upper_bound()
lower_bound(first,last,val)用来在容器的[first,last)范围内返回第一个值大于等于val的元素的位置,如果是数组,返回下标。如果是容器,返回迭代器。当然,如果没有这个元素,则返回可以插入这个元素的位置。