C++中的 头文件”#include<algorithm>“

来源:互联网 发布:苏州高博java培训 编辑:程序博客网 时间:2024/06/10 14:19
algorithm意为"算法",是C++的标准模版库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模版函数
非修改性序列操作(12个)
for_each()     循环 对序列中的每个元素执行某操作

find()    查找 在序列中找出某个值的第一次出现的位置( 利用底层元素的等于操作符,对范围内的元素与输入的值进行比较。当匹配时,结束搜索,返回该元素的一个 InputIterator 。)
find_if()     在序列中找出符合某谓词的第一个元素
find_end()     在序列中找出一子序列的最后一次出现的位置

find_first_of()      在序列中找出第一次出现指定值集中之值的位置
adjacent_find()   在序列中找出相邻的一对值

count()    计数 在序列中统计某个值出现的次数
count_if()    在序列中统计与某谓词匹配的次数
mismatch()     比较 找出两个序列相异的第一个元素
equal()      两个序列中的对应元素都相同时为真

search()    搜索 在序列中找出一子序列的第一次出现的位置
search_n()   在序列中找出一值的连续n次出现的位置

修改性序列操作(27个)
copy()                               复制 从序列的第一个元素起进行复制
copy_backward()             从序列的最后一个元素起进行复制
swap()                             交换 交换两个元素
swap_ranges()                交换指定范围的元素
iter_swap()                      交换由迭代器所指的两个元素
transform()                      变换 将某操作应用于指定范围的每个元素
replace()                         替换 用一个给定值替换一些值
replace_if()                     替换满足谓词的一些元素
replace_copy()               复制序列时用一给定值替换元素
replace_copy_if()           复制序列时替换满足谓词的元素
fill()                                填充 用一给定值取代所有元素
fill_()                              用一给定值取代前n个元素 fill_n()
generate()                     生成 用一操作的结果取代所有元素

generate_n()用一操作的结果取代前n个元素

remove()删除删除具有给定值的元素

remove_if()删除满足谓词的元素

remove_copy()复制序列时删除具有给定值的元素

remove_copy_if()复制序列时删除满足谓词的元素

unique()唯一删除相邻的重复元素

unique_copy()复制序列时删除相邻的重复元素

reverse()反转反转元素的次序

reverse_copy()复制序列时反转元素的次序

rotate()环移循环移动元素

rotate_copy()复制序列时循环移动元素

random_shuffle()随机采用均匀分布来随机移动元素

partition()划分将满足某谓词的元素都放到前面

stable_partition()将满足某谓词的元素都放到前面并维持原顺序

序列排序及相关操作(27个)

sort()排序以很好的平均效率排序

stable_sort()排序,并维持相同元素的原有顺序

partial_sort()将序列的前一部分排好序

partial_sort_copy()复制的同时将序列的前一部分排好序

nth_element()n个元素将第n各元素放到它的正确位置

lower_bound()二分检索找到大于等于某值的第一次出现

upper_bound()找到大于某值的第一次出现

equal_range()找到(在不破坏顺序的前提下)可插入给定值的最大范围

binary_search()在有序序列中确定给定元素是否存在

merge()归并归并两个有序序列

inplace_merge()归并两个接续的有序序列

includes()有序结构上的集合操作一序列为另一序列的子序列时为真

set_union()构造两个集合的有序并集

set_intersection()构造两个集合的有序交集

set_difference()构造两个集合的有序差集

set_symmetric_difference()构造两个集合的有序对称差集(并-交)

push_heap()堆操作向堆中加入元素

pop_heap()从堆中弹出元素

make_heap()从序列构造堆

sort_heap()给堆排序

min()最大和最小两个值中较小的

max()两个值中较大的

min_element()序列中的最小元素

max_element()序列中的最大元素

lexicographical_compare()词典比较两个序列按字典序的第一个在前

next_permutation()排列生成器按字典序的下一个排列

prev_permutation()按字典序的前一个排列