STL算法总结

 

函数

功能说明

查找

一般查找

adjacent_find

元素间的之间关系的查找

find

查找某固定值

find_if

根据条件查找

find_end

第一个容器里查找第二个容器中所有的元素的位置,返回第一个容器的迭代器

find_first_of

查找两容器中第一个相同的元素,返回第一个容器的迭代器。与find_end的区别,find_first_of只需要一个匹配,而find_end需要全部匹配。

search

find_end功能基本一样,区别:search它找到第一个就结束了,而find_end找到最后一个子串。

search_n

不旦find_iffind功能,而且可以带重复查找到的条件

max_element

找到最大元素

min_element

找到最小元素

二分查找

lower_bound

返回找到的元素,如查找不到返回该插入的地方

upper_bound

返回该插入的地方

binary_search

仅返回要查找的元素是否存在

equal_range

返回一个pair,元素1lower_bound的返回值,元素2upper_bound返回值

替换

replace

对元素进行值值替换

replace_copy

对母容器不调整,对将数据复制到输出容器,并替换的元素

replace_if

调整要根据条件将要替换的元素

replace_copy_if

对母容器不调整,对将数据复制到输出容器,并根据条件替换的元素

移除

remove_copy

调整要删除的元素放到尾端

remove

对母容器不调整,对将数据复制到输出容器,并调整要删除的元素放到尾端

remove_if

调整要根据条件将要删除的元素放到尾端

remove_copy_if

对母容器不调整,对将数据复制到输出容器,并调整要根据条件删除的元素放到尾端

unique

条件:重复元素必须靠近在一起,将重复元素移到容器末端

unique_copy

动作与unique一样,只是不改变母容器,将数据输出到新容器

简单容器

for_each

参数一元函数,将容器里每一个值输出到函数里

generate

参数一元函数,函数每一个返回值给容器赋值

generate_n

参数一元函数,函数每一个返回值给容器赋值,范围是前N个元素

transform

参数一元函数(条件型),将符合条件的元素输出到输出容器里

swap_ranges

容器一与容器二进制交换

集合(需要排序)

set_union

S1S2,不存在重复元素

set_intersection

S1S2

set_difference

S1-S2

set_symmetric_difference

(S1-S2)U(S2-S1)

includes

S2是否属于S1

merge

S1S2合并,与set_union的区别为,当前函数存在重复,而set_union是不存在重复。

inplace_merge

用于容器,容器内部分两段排序,两段不管升降序,将这两段合并成自定义序列(升序,降序或自定义)

统计

count

计算值为某元素的数目

count_if

计算符合条件元素的数目

Heap算法

push_heap

 

pop_heap

 

make_heap

 

sort_heap

 堆排序

partial_sort

部分排序

partial_sort_copy

partial_sortcopy

内部其它调动

sort

排序

random_shuffle

随机打乱

partition

根据条件将容器分成两块,返回第二块首元素迭代器

nth_element

根据位置将容器分成两块,前面一块都大于后一块,或反之

reverse

首末两块元素相互倒致

reverse_copy

反转 copy

rotate

元素分两块,左右旋转

rotate_copy

rotatecopy

next_permutation

过于复杂。。

prev_permutation

过于复杂。。

你可能感兴趣的:(算法,search,Random,merge,pair,permutation)