C/C++中常用库函数-#include<algorithm>

//algorithm意为"算法",是C++的标准模版库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模板函数。

点击:<math.h>中函数用法

        <string.h>中函数用法

#include<algorithm>函数用法:

不修改内容

编辑
adjacent_find查找两个相邻(Adjacent)的等价(Identical)元素
all_of检测在给定范围中是否所有元素都满足给定的条件
any_of检测在给定范围中是否存在元素满足给定条件
count返回值等价于给定值的元素的个数
count_if返回值满足给定条件的元素的个数
equal返回两个范围是否相等
find返回第一个值等价于给定值的元素
find_end查找范围A中与范围B等价的子范围最后出现的位置
find_first_of查找范围A中第一个与范围B中任一元素等价的元素的位置
find_if返回第一个值满足给定条件的元素
find_if_not返回第一个值不满足给定条件的元素
for_each对范围中的每个元素调用指定函数
mismatch返回两个范围中第一个元素不等价的位置
none_of检测在给定范围中是否不存在元素满足给定的条件
search在范围A中查找第一个与范围B等价的子范围的位置
search_n在给定范围中查找第一个连续n个元素都等价于给定值的子范围的位置

修改内容操作

编辑
copy将一个范围中的元素拷贝到新的位置处
copy_backward将一个范围中的元素按逆序拷贝到新的位置处
copy_if将一个范围中满足给定条件的元素拷贝到新的位置处
copy_n拷贝 n 个元素到新的位置处
fill将一个范围的元素赋值为给定值
fill_n将某个位置开始的 n 个元素赋值为给定值
generate将一个函数的执行结果保存到指定范围的元素中,用于批量赋值范围中的元素
generate_n将一个函数的执行结果保存到指定位置开始的 n 个元素中
iter_swap交换两个迭代器(Iterator)指向的元素
move将一个范围中的元素移动到新的位置处
move_backward将一个范围中的元素按逆序移动到新的位置处
random_shuffle随机打乱指定范围中的元素的位置
remove将一个范围中值等价于给定值的元素删除
remove_if将一个范围中值满足给定条件的元素删除
remove_copy拷贝一个范围的元素,将其中值等价于给定值的元素删除
remove_copy_if拷贝一个范围的元素,将其中值满足给定条件的元素删除
replace将一个范围中值等价于给定值的元素赋值为新的值
replace_copy拷贝一个范围的元素,将其中值等价于给定值的元素赋值为新的值
replace_copy_if拷贝一个范围的元素,将其中值满足给定条件的元素赋值为新的值
replace_if将一个范围中值满足给定条件的元素赋值为新的值
reverse反转排序指定范围中的元素
reverse_copy拷贝指定范围的反转排序结果
rotate循环移动指定范围中的元素
rotate_copy拷贝指定范围的循环移动结果
shuffle用指定的随机数引擎随机打乱指定范围中的元素的位置
swap交换两个对象的值
swap_ranges交换两个范围的元素
transform对指定范围中的每个元素调用某个函数以改变元素的值
unique删除指定范围中的所有连续重复元素,仅仅留下每组等值元素中的第一个元素。
unique_copy拷贝指定范围的唯一化(参考上述的 unique)结果

划分操作

编辑
is_partitioned检测某个范围是否按指定谓词(Predicate)划分过
partition将某个范围划分为两组
partition_copy拷贝指定范围的划分结果
partition_point返回被划分范围的划分点
stable_partition稳定划分,两组元素各维持相对顺序

排序操作

编辑
is_sorted检测指定范围是否已排序
is_sorted_until返回最大已排序子范围
nth_element部分排序指定范围中的元素,使得范围按给定位置处的元素划分
partial_sort部分排序
partial_sort_copy拷贝部分排序的结果
sort排序
stable_sort稳定排序

查找操作

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

集合操作

编辑
includes判断一个集合是否是另一个集合的子集
inplace_merge就绪合并
merge合并
set_difference获得两个集合的差集
set_intersection获得两个集合的交集
set_symmetric_difference获得两个集合的对称差
set_union获得两个集合的并集

堆操作

编辑
is_heap检测给定范围是否满足堆结构
is_heap_until检测给定范围中满足堆结构的最大子范围
make_heap用给定范围构造出一个堆
pop_heap从一个堆中删除最大的元素
push_heap向堆中增加一个元素
sort_heap将满足堆结构的范围排序

最大最小操作

编辑
is_permutation判断一个序列是否是另一个序列的一种排序
lexicographical_compare比较两个序列的字典序
max返回两个元素中值最大的元素
max_element返回给定范围中值最大的元素
min返回两个元素中值最小的元素
min_element返回给定范围中值最小的元素
minmax返回两个元素中值最大及最小的元素
minmax_element返回给定范围中值最大及最小的元素
next_permutation返回给定范围中的元素组成的下一个按字典序的排列
prev_permutation返回给定范围中的元素组成的上一个按字典序的排列


  • 19
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello689

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值