总结几个STL
总是记不住的几个
1.unique()函数去重
该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素
(1) 这里的去除并非真正意义的erase,而是将重复的元素放到容器的末尾,返回值是去重之后的尾地址。
(2) unique针对的是相邻元素,所以对于顺序顺序错乱的数组成员,或者容器成员,需要先进行排序,可以调用sort()函数
例如 1 1 2 3 4 5 5 6 去重后为1 2 3 4 5 6 1 5
int a[10];
int n = 5;
int size = unique(a,a+n)-a;
2. lower_bound()
返回一个非递减序列[first, last)中的第一个大于等于值val的位置,如果所有元素都小于val,则返回last的位置
int a[10],val;
int pos = lower_bound(a,a+n,val) - a;
例如 5,10,23,45,108
若 val = 2,pos = 0 若 val = 9,pos = 1
若 val = 23,pos = 2 若 val = 110,pos = 5(越界)
3.upper_bound()
返回一个非递减序列[first, last)中第一个大于val的位置,如果所有元素都小于val,则返回last的位置
int a[10],val;
int pos = upper_bound(a,a+n,val) - a;
例如 5,10,23,45,108
若 val = 2,pos = 0 若 val = 9,pos = 1
若 val = 23,pos = 3 若 val = 110,pos = 5(越界)