#include<algorithm> #include<algorithm>

#include<algorithm>

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

非修改性序列操作(12个)

循环  对序列中的每个元素执行某操作  for_each()


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


计数   在序列中统计某个值出现的次数  count()
在序列中统计与某谓词匹配的次数  count_if()


比较  找出两个序列相异的第一个元素  mismatch()
两个序列中的对应元素都相同时为真  equal()


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




修改性序列操作(27个)


复制  从序列的第一个元素起进行复制  copy()
从序列的最后一个元素起进行复制  copy_backward()


交换  交换两个元素  swap()
交换指定范围的元素  swap_ranges()
交换由迭代器所指的两个元素  iter_swap()


变换   将某操作应用于指定范围的每个元素  transform()


替换  用一个给定值替换一些值  replace()
替换满足谓词的一些元素  replace_if()
复制序列时用一给定值替换元素  replace_copy()
复制序列时替换满足谓词的元素  replace_copy_if()


填充  用一给定值取代所有元素  fill()
用一给定值取代前n个元素  fill_n()


生成   用一操作的结果取代所有元素  generate()
用一操作的结果取代前n个元素  generate_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()


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


二分检索  找到大于等于某值的第一次出现  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()  
#include<algorithm>:algorithm意为"算法",是C++的标准模版库(STL)中最重要的头文件之一,提供了大量基于迭代器的非成员模版函数。

非修改性序列操作(12个)

循环  对序列中的每个元素执行某操作  for_each()


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


计数   在序列中统计某个值出现的次数  count()
在序列中统计与某谓词匹配的次数  count_if()


比较  找出两个序列相异的第一个元素  mismatch()
两个序列中的对应元素都相同时为真  equal()


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




修改性序列操作(27个)


复制  从序列的第一个元素起进行复制  copy()
从序列的最后一个元素起进行复制  copy_backward()


交换  交换两个元素  swap()
交换指定范围的元素  swap_ranges()
交换由迭代器所指的两个元素  iter_swap()


变换   将某操作应用于指定范围的每个元素  transform()


替换  用一个给定值替换一些值  replace()
替换满足谓词的一些元素  replace_if()
复制序列时用一给定值替换元素  replace_copy()
复制序列时替换满足谓词的元素  replace_copy_if()


填充  用一给定值取代所有元素  fill()
用一给定值取代前n个元素  fill_n()


生成   用一操作的结果取代所有元素  generate()
用一操作的结果取代前n个元素  generate_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()


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


二分检索  找到大于等于某值的第一次出现  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()  

猜你喜欢

转载自blog.csdn.net/blue_blue001/article/details/80899110