[关闭]
@songying 2019-03-06T13:06:37.000000Z 字数 1233 阅读 1079

STL 算法

STL


算法简介

后缀

_if 后缀

对于某算法有两个形式,参数个数相同。无后缀的哪个要求传入的是一个值,有后缀的那个要求函数或function object。

举例: find() 来查找具有某值的元素,而find_if() 接受一个被当做查找准则的函数或function object,查找第一个满足该准则的元素

_copy 后缀

该后缀表示在此算法中元素不只被操作,还会被复制到另一区间。

排序算法

1. 对所有元素排序

操作 说明
void sort(RandomAccessIterator beg, RandomAccessIterator end) 使用 < 对区间对区间[beg,end)内的所有元素排序(降序)
void sort(RandomAccessIterator beg, RandomAccessIterator end, BinaryPredicate op) 使用 binary predicate op(elem1, elem2) 作为排序准则对区间[beg,end)内的所有元素排序
void stable_sort(RandomAccessIterator beg, RandomAccessIterator end) 使用 < 对区间对区间[beg,end)内的所有元素排序
void stable_sort(RandomAccessIterator beg, RandomAccessIterator end, BinaryPredicate op) 使用 binary predicate op(elem1, elem2) 作为排序准则对区间[beg,end)内的所有元素排序

2. 局部排序

操作 说明
void partial_sort(RandomAccessIterator beg, RandomAccessIterator sortEnd, RandomAccessIterator end) 以 < 对 区间[beg, end) 内的元素排序,使 [beg,sortEnd) 区间内的元素处于有序状态
void partial_sort(RandomAccessIterator beg, RandomAccessIterator sortEnd, RandomAccessIterator end, BinaryPredicate op) 以 op(elem1,elem2) 对 区间[beg, end) 内的元素排序,使 [beg,sortEnd) 区间内的元素处于有序状态
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注