总结几个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(越界)

posted @ 2018-08-26 19:57  任小喵  阅读(110)  评论(0编辑  收藏  举报