参考:http://www.cplusplus.com/reference/algorithm/copy_if/
1、count系列
(1)int count(iterator first,iterator last,val)
(2)int count_if(iterator first,iterator last,pred_fun)
2、copy系列
(1)iterator copy(iterator first,iterator last,iterator result)
(2)iterator copy_n(iterator first,int n,iterator result)
(3)iterator copy_if(iterator first,iterator last,iterator result,pred_fun)
3、equal
(1)bool equal(iterator first1,iterator last1,iterator first2):把fisrt1-last1范围内的元素和以first2开始的位置做比较。
4、find系列
(1)iterator find(iterator first,iterator last, val):返回first-last之间第一个等于val的元素的迭代器
(2)iterator find_if(iterator first,iterator last,pre_fun):返回first-last之间第一个满足条件pre_fun的元素的迭代器
(3)iterator find_end(iterator first1,iterator last1,iterator first2,iterator last2):返回first1-last1之间最后一个等于first2-last2的序列的首迭代器
5、for_each
(1)void for_each(iterator first,iterator last,function fn):对first-last范围内的每一个元素调用函数fn
6、is_sorted系列
(1)bool is_sorted(iterator first,iterator last):若first-last之间的值是升序排列,则返回true;反之返回false
(2)iterator is_sorted_until(iterator first,iterator last):返回first-last之间第一个不遵循升序规则的元素的iterator
7、lower_bound & upper_bound
(1)iterator lower_bound(iterator first,iterator last,val):返回first-last之间第一个大于或等于val的元素的迭代器
(2)iterator upper_bound(iterator first,iterator last ,val):返回first-last之间第一个大于val的元素的迭代器
9、swap
(1)swap(a,b):交换a和b的值
10、sort系列
(1)void sort(Iterator first,iterator last):对first-last范围内的元素进行升序排序,算法复杂度o(nlog2n)
(2)void stable_sort(Iterator first,iterator last):和sort一样,但是是个稳定排序,算法复杂度o(nlog2n)
10、search系列
(1)iterator search(iterator first1 ,iterator last1,iterator first2,iterator last2):返回在first1-last1之间的,元素序列值为first2-last2的序列的首地址。