原文:https://blog.csdn.net/fengbingchun/article/details/78034969   有示例程序

<algorithm>是C++标准程序库中的一个头文件,定义了C++ STL标准中的基础性的算法(均为函数模板)。

<algorithm>定义了设计用于元素范围的函数集合。任何对象序列的范围可以通过迭代器或指针访问。

std::adjacent_find:在序列中查找第一对相邻且值相等的元素;

std::find: 对一个输入序列,查找第一个等于给定值的元素;

std::find_end: 查找有B定义的序列在A序列中最后一次出现的位置(B可能是A的子序列);

std::find_first_of:查找A序列中第一个与序列B中任一元素值相等的元素位置;

std::find_if: 在序列中返回满足谓词(给定的条件)的第一个元素;

std::find_if_not:在序列中返回不满足谓词的第一个元素;

std::all_of: 如果序列中所有元素均满足给定的条件,则返回true;

std::any_of: 如果序列中存在元素满足给定的条件,则返回true;

std::none_of: 如果序列中所有元素均不满足给定的条件,则返回true;

std::binary_search:对一个升序序列做二分搜索,判断序列中是否有与给定值相等的元素;

std::search: 在序列A中,搜索B首次出现的位置(B可能是A的子序列);

std::search_n: 在给定序列中,搜索给定值连续出现n次的位置;

std::copy: 将一个序列中的元素拷贝到新的位置;

std::copy_backward:把一个序列复制到另一个序列,按照由尾到头顺序依次复制元素;

std::copy_if: 将一个序列中满足给定条件的元素拷贝到新的位置;

std::copy_n: 将一个序列中的前n个元素拷贝到新的位置;

std::count: 返回序列中等于给定值元素的个数;

std::count_if: 返回序列中满足给定条件的元素的个数;

std::equal: 比较两个序列的对应元素是否相等;

std::equal_range:在已排序的序列中,查找元素等于给定值组成的子范围;

std::lower_bound:在升序的序列中,查找第一个不小于给定值的元素;

std::upper_bound:在已排序的序列中,查找第一个大于给定值的元素;

std::fill: 用给定值填充序列中的每个元素;

std::fill_n: 用给定值填充序列中的n个元素;

std::for_each: 将指定函数应用于范围内的每一个元素;

std::generate: 对序列中的每个元素,用依次调用函数gen的返回值赋值;

std::generate_n:对序列中的n个元素,用依次调用指定函数gen的返回值赋值;

std::includes: 判断第二个已排序的序列是否全部都出现在第一个已排序的序列中;

std::inplace_merge:对两个升序的序列执行原地合并,合并后的序列仍保持升序;

std::merge: 对两个升序的序列合并,结果序列保持升序;

std::is_heap: 判断序列是否为二叉堆;

std::is_heap_until:查找第一个不是堆顺序的元素;

std::make_heap: 对于一个序列,构造一个二叉堆;

std::pop_heap: 堆的根节点被移除,堆的元素数目减1并保持堆性质;

std::push_heap: 向堆中增加一个新元素,新元素最初保存在last-1位置;

std::sort_heap: 对一个堆,执行原地堆排序,得到一个升序结果;

std::is_partitioned:判断序列是否按指定谓词划分过;

std::partition: 对序列重排,使得满足谓词的元素位于最前;

std::partition_copy:输入序列中,满足谓词的元素复制到result_true,其它元素复制到result_false;

std::partition_point:输入序列已经是partition,折半查找到分界点;

std::stable_partiton:对序列重排,使得满足谓词的元素在前,不满足谓词的元素在后,且两组元素内部的相对顺序不变;

std::is_permutation:判断两个序列是否为同一元素的两个排列;

std::next_permutation:n个元素有n!中排列。这些排列中,规定升序序列为最小排列,降序序列为最大的排列,任意两个排列按照字典序分出大小。该函数返回当前序列作为一个排列按字典序的下一个排列;

std::prev_permutation:返回当前序列作为一个排列按字典序的上一个排列;

std::is_sorted: 判断序列是否为升序;

std::is_sorted_until:查找序列中第一个未排序的元素;

std::nth_element:对序列重排,使得指定的位置出现的元素就是有序情况下应该在该位置出现的那个元素,且在指定位置之前的元素都小于指定位置元素,在指定位置之后的元素都大于指定位置元素;

std::partial_sort:对序列进行部分排序;

std::partial_sort_copy:拷贝部分排序的序列;

std::sort: 对序列进行排序;

std::stable_sort:对序列进行稳定排序;

std::iter_swap: 交换两个迭代器指向的元素;

std::swap: 交换两个对象,优先使用移动语义;

std::swap_ranges:交换两个序列中对应元素;

std::lexicographical_compare:对两个序列做字典比较,如果第一个序列在字典序下小于第二个序列,则返回true;

std::min: 返回两个值中的最小值;

std::min_element:返回序列中的最小值;

std::max: 返回两个值中的最大值;

std::max_element:返回序列中的最大值;

std::minmax: 返回由最小值与最大值构成的std::pair;

std::minmax_element:返回由序列中最小元素与最大元素构成的std::pair;

std::mismatch: 比较两个序列的对应元素,返回用std::pair表示的第一处不匹配在两个序列的位置;

std::move: 把输入序列中的逐个元素移动到结果序列;注意与   http://blog.csdn.net/fengbingchun/article/details/52558914 中的不同;

std::move_backward:把输入序列中的逐个元素自尾到头移动到结果序列;

std::shuffle: 使用均匀随机数生成器,随机打乱指定范围中的元素的位置;

std::random_shuffle:n个元素有!n个排列,该函数给出随机选择的一个排列;

std::remove: 删除序列中等于给定值的所有元素;

std::remove_if: 删除序列中满足给定谓词的元素;

std::remove_copy:把一个序列中不等于给定值的元素复制到另一个序列中;

std::remove_copy_if:把一个序列中不满足给定谓词的元素复制到另一个序列中;

std::replace: 把序列中等于给定值的元素替换为新值;

std::replace_if:把序列中满足给定谓词的元素替换为新值;

std::replace_copy:拷贝序列,对于等于老值的元素复制时使用新值;

std::replace_copy_if:拷贝序列,对于满足给定谓词的元素复制时使用新值;

std::reverse: 把序列中的元素逆序;

std::reverse_copy:拷贝序列的逆序到另一个序列中;

std::rotate: 等效于循环左移序列,使得迭代器middle所指的元素成为首元素;

std::rotate_copy:等效于循环左移序列并拷贝到新的序列中,使得迭代器middle所指的元素成为首元素;

std::set_difference:两个升序序列之差;

std::set_intersection:两个升序序列的交;

std::set_symmetric_difference:两个升序序列的对称差;

std::set_union: 两个升序序列的并;

std::transform: 对序列中的每一个元素,执行一元操作,结果写入另一序列中;或对两个序列中对应的每一对元素,执行二元操作,结果写入另一序列中;

std::unique: 对序列中一群连续的相等的元素,仅保留第一个元素;

std::unique_copy:把一个序列中的元素拷贝到另一个序列,对于一群连续的相等的元素,仅拷贝第一个元素。

algorithm的使用相关推荐

  1. HMM——维特比算法(Viterbi algorithm)

    1. 前言 维特比算法针对HMM第三个问题,即解码或者预测问题,寻找最可能的隐藏状态序列: 对于一个特殊的隐马尔可夫模型(HMM)及一个相应的观察序列,找到生成此序列最可能的隐藏状态序列. 也就是说给 ...

  2. 《OpenCV3编程入门》学习笔记8 图像轮廓与图像分割修复(五)分水岭算法(watershed algorithm)

    8.5 分水岭算法(watershed algorithm) 1.基于拓扑理论的数学形态学的分割方法. 2.基本思想:把图像看作测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局 ...

  3. C++ algorithm的sort函数总结

    sort函数 sort对给定区间进行排序,支持各种数据类型,迭代器,结构体,自定义排序规则 stable_sort 对给定区间进行稳定排序,且可保证相等元素的原本相对次序在排序后保持不变 partia ...

  4. SLAM之特征匹配(三)————RANSAC------LO-RANSAC Algorithm

    matlab 编译loransac,lapack mex ranH.c时一直链接错误. 原来mex在编译多个文件时要把所有的C文件都列出来.命令如下: mex loransacH.mex.c ranH ...

  5. C++/C++11中头文件algorithm的使用

    <algorithm>是C++标准程序库中的一个头文件,定义了C++ STL标准中的基础性的算法(均为函数模板).<algorithm>定义了设计用于元素范围的函数集合.任何对 ...

  6. 2018/8/27 A Modified PSO Algorithm with Exponential Decay Weight

    信息: 2017年                            会议 题目: A Modified PSO Algorithm with Exponential Decay Weight 总 ...

  7. count http://www.cplusplus.com/reference/algorithm/count/

    // count algorithm example#include <iostream>#include <algorithm>#include <vector> ...

  8. 子图同构问题与Ullmann Algorithm 算法(一)

    目录索引 目录索引 写在前面的话 子图同构定义 子图同构的映射关系 Reference 写在后面的话 写在前面的话 谨以此片献给 my best love, grandpa. 时光匆匆流逝,我们永远无 ...

  9. R语言基于遗传算法(Genetic Algorithm)进行特征筛选(feature selection)

    R语言基于遗传算法(Genetic Algorithm)进行特征筛选(feature selection) 特征选择的目的 1.简化模型,使模型更易于理解:去除不相关的特征会降低学习任务的难度.并且可 ...

  10. glm.fit Warning Messages in R: algorithm didn’t converge probabilities 0/1

    glm.fit Warning Messages in R: algorithm didn't converge & probabilities 0/1 # 仿真数据 set.seed(652 ...

最新文章

  1. 1130 Infix Expression
  2. C语言再学习 -- 常用头文件和函数(转)
  3. nginx conf header set
  4. java数据导出ex_Java高级特性注解:注解实现Excel导出功能
  5. 京东物流研发岗位会背景调查吗_【秋招资讯】京东健康于港交所主板上市 | 京东健康2021校园招聘火热进行中!...
  6. 消息队列(MQ)原理总结
  7. 阿里研究院安筱鹏:数字化,转型与原生并行
  8. ad软件画pcb方法总结_PCB各层介绍及AD软件画PCB时的规则
  9. 使用PHP官方镜像调用API进行文本翻译
  10. 中不中奖,都是抽奖程序的锅?
  11. 计算机视觉领域的一些牛人博客,超有实力的研究机构web主页(转)
  12. 父子盒子边距塌陷之为什么设置margin-top父子盒子会一起移动
  13. 今日头条前端三轮面试面经
  14. 解决方案:ubuntu14.04安装后无法引导win7;Realtek-RTL8723BE无线网卡驱动的安装
  15. Linux下c语言模拟贝壳物联设备在线
  16. Java-UDP通信(实现多发多收、广播、组播)
  17. FCPX插件-20个简洁实用数字倒计时计数器提示动画 mCounter
  18. 洗地机性价比高的是哪款?性价比高适合入手的洗地机介绍
  19. Java程序性能优化——设计优化
  20. Edge浏览器安装油猴插件以及好用的插件推荐

热门文章

  1. 能上QQ不能打开网页的解决方法
  2. image、border-image、background-image的区别
  3. 3分钟带你彻底弄懂数码管的段选与位选
  4. UI层自动化测试介绍
  5. Oracle账户被锁定解决方法
  6. python glove训练模型_gensim加载Glove预训练模型
  7. 怎么转换CAD图纸格式?三种方法帮你搞定CAD转PDF格式操作!
  8. java常见的5个异常_java常见的5种异常举例
  9. python脚本来控制securecrt_SecureCRT 使用python脚本
  10. 【爬虫】Selenium爬取动态网页的base64图片