常用STL函数
lower_bound(l,r,tar) 返回区间内第一个大于等于tar的数位置
upper_bound(l,r,tar) 返回区间内第一个大于tar的数位置
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。在从小到大的排序数组中,
lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
iterator unique(iterator L,iterator R);
对容器[L,R)范围内的元素进行去重,返回指向去重后容器中不重复序列的最后一个元素的下一个元素的迭代器。
unique函数的去重过程实际上就是不停的把后面不重复的元素移到前面来,也可以说是用不重复的元素占领重复元素的位置。
c.erase(p):从c中删除迭代器p指定的元素,p必须指向c中的一个真实元素,不能等于c.end()
c.erase(b,e):从c中删除迭代器对b和e所表示的范围中的元素,返回e