STL算法归类

按照用途归了下,以便自己后面使用时快速查找(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 :

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值