stl algorithm
find (find_if) | 搜索等于某值的第一个元素 |
adjacent_find | 搜索连续两个相等的元素 |
find_first_of | 搜索等于某个数值之一的第一个元素 |
find_end | 搜索某个子区间最后出现的位置 |
search | 搜索某个子区间第一次出现的位置 |
search_n | 搜索具有某个特性的第一段n个连续元素 |
binary_search | 判断某个区间内是否包含某个元素 |
| |
equal | 判断两个区间是否相等 |
| |
lexicographical_compare | 判断某序列在字典序下是否小于另一个序列 |
mismatch | 返回两个序列的各组对应元素中, 第一个不相等元素 |
| |
copy | 从第一个元素开始,复制某段区间 |
copy_backward | 从最后一个元素开始,复制某段区间 |
| |
count (count_if) | 返回元素数目 |
| |
equal_range | 返等于给定值的所有元素的区间 |
lower_bound | 搜索第一个大于等于给定值的元素 |
upper_bound | 搜索第一个大于给定值的元素 |
| |
fill | 以给定值替换每一个元素 |
fill_n | 以给定值替换n个元素 |
generate | 以某项操作的结果替换每一个元素 |
generate_n | 以某项操作的结果替换n个元素 |
| |
for_each | 对每个元素执行操作 |
transform | 变动并复制元素,将两个区间的元素合并 |
| |
includes | 判断某区间的每个元素是否都涵盖于另一区间中 |
| |
iter_swap | 交换迭代器指 |
swap | 交换元素 |
swap_ranges | 交换两个区间的元素 |
| |
make_heap | 将区间转换成heap |
pop_heap | 从heap移除一个元素 |
push_heap | 将元素加入一个heap |
| |
max_element | 返回最大元素 |
min_element | 返回最小元素 |
| |
next_permutation | 得到元素的下一个排列 |
prev_permutation | 得到元素的上一个排列 |
| |
sort | 排序 |
stable_sort | 稳定排序 |
sort_heap | 对heap进行排序 |
partial_sort | 排序前面n个元素 |
partial_sort_copy | 排序前面n个元素,并复制 |
partition | 改变元素次序, 使符合条件的元素移动到前面 |
stable_partition | 不改变相对次序的partition |
merge | 合并两个区间 |
inplace_merge | 将两个连续的已序区间合并 |
nth_element | 根据第n各位置进行排序 |
| |
random_shuffle | 将元素的次序随机打乱 |
| |
remove (remove_if) | 将等于某特定值的元素全部移除 |
remove_copy remove_copy_if | 将不等于某特定值的元素全部复制 |
| |
unique | 移除邻接的重复元素 |
unique_copy | 移除邻接的重复元素,并复制 |
| |
replace (replace_if) | 将具有某特定值的元素替换为另一个值 |
replace_copy replace_copy_if | 复制整个区间,并同时将具有某个特定值的元素替换为另一个值 |
| |
reverse | 将元素的次序逆转 |
reverse_copy | 复制的同时,逆转元素次序 |
rotate | 旋转元素次序 |
rotate_copy | 复制的同时,旋转元素次序 |
| |
set_union | 交集 |
set_intersection | 并集 |
set_difference | 出现在第一区间但不出现在第二区间的元素(差集) |
set_symmetric_difference | 只出现于两区间之一的所有元素(异或) |
| |
accumulate | 组合所有元素(总合,总乘积) |
adjacent_difference | 将每个元素和其前一元素组合 |
partial_sum | 将每个元素和其之前的所有元素组合 |
inner_product | 组合两区间内的所有元素 |