STL算法归类

来源:互联网 发布:五金小助手软件 编辑:程序博客网 时间:2024/05/21 11:37

按照用途归了下,以便自己后面使用时快速查找(C++ referece中分类更合理,我是按照自己习惯分的,在最后列表中是C++ reference的分类)

<Stl>


其中使用比较多的算法大体如下:(整理的没保存,白做了从百科粘贴下吧)

一.查找

1,无序查找

1),元素查找

find返回第一个值等价于给定值的元素find_end查找范围A中与范围B等价的子范围最后出现的位置find_first_of    查找范围A中第一个与范围B中任一元素等价的元素的位置adjacent_find查找两个相邻(Adjacent)的等价(Identical)元素           mismatch      返回两个范围中第一个元素不等价的位置                              

2),序列查找

search在范围A中查找第一个与范围B等价的子范围的位置search_n在给定范围中查找第一个连续n个元素都等价于给定值的子范围的位置

2,有序查找

binary_search判断范围中是否存在值等价于给定值的元素equal_range返回范围中值等于给定值的元素组成的子范围lower_bound返回指向范围中第一个值大于或等于给定值的元素的迭代器upper_bound返回指向范围中第一个值大于给定值的元素的迭代器


二.排序

nth_element部份排序指定范围中的元素,使得范围按给定位置处的元素划分partial_sort部份排序partial_sort_copy拷贝部分排序的结果sort排序stable_sort稳定排序

三.统计

transform 对指定范围中的每个元素调用某个函数以改变元素的值 

count返回值等价于给定值的元素的个数count_if                                 返回值满足给定条件的元素的个数        includes判断一个集合是否是另一个集合的子集inplace_merge就绪合并merge合并set_difference获得两个集合的差集set_intersection获得两个集合的交集set_symmetric_difference获得两个集合的对称差set_union获得两个集合的并集
max_element                      返回给定范围中值最大的元素                min_element                       返回给定范围中值最小的元素                


四.其他

copy将一个范围中的元素拷贝到新的位置处copy_backward将一个范围中的元素按逆序拷贝到新的位置处                                fill                    将一个范围的元素赋值为给定值fill_n将某个位置开始的 n 个元素赋值为给定值                                            remove将一个范围中值等价于给定值的元素删除remove_if将一个范围中值满足给定条件的元素删除                                            remove_copy拷贝一个范围的元素,将其中值等价于给定值的元素删除replace将一个范围中值等价于给定值的元素赋值为新的值replace_copy拷贝一个范围的元素,将其中值等价于给定值的元素赋值为新的值reverse          反转排序指定范围中的元素                                                                     



C++  STL中algorithm中算法:c++ reference

Functions in <algorithm>

Non-modifying sequence operations:

Modifying sequence operations:

Partitions:

Sorting:

Binary search (operating on partitioned/sorted ranges):

Merge (operating on sorted ranges):

Heap:

Min/max:

Other:

0 0
原创粉丝点击