C++algorithm头文件常用算法函数

20 篇文章 1 订阅

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

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

查找         在序列中找出某个值的第一次出现的位置         find()

在序列中找出符合某谓词的第一个元素     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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值