C++ algorithm算法库
C++ algorithm算法库 Xun 标准模板库(STL)中定义了很多的常用算法,这些算法主要定义在 <algorithm> 中。编程时,只需要在文件中加入 #include<algorithm> 即可方便地使用这些算法。若要用好这些函数,你必须了解以下几个概念: 容器 容器是用来存放各种数据的一个东西, <algorithm> 中的算法是针对容器设计的。因此,不论数据是一些 int , char 还是自定义的 class , <algorithm> 中的函数都可以正确应对。 vector 是最常用的容器。 迭代器 迭代器是与容器进行配套使用的。它的作用是对容器中的元素进行遍历,比如数组的指针就可以看作一种迭代器。迭代器一般支持解引用( operator*() )、自加( operator++() )、相等( operator==() )等操作。 谓词 谓词是用来对 <algorithm> 中的函数进行定制操作的。谓词可以是lambda表达式或是函数/函数指针,并且 <algorithm> 中只有一元谓词和二元谓词,即函数只能接收一个或两个参数。对于需要额外参数的谓词可以使用lambda表达式的捕获功能。 pair 部分算法会有两个返回值, pair 有两个成员 first 和 second ,用来将两个值进行打包返回。 下面的内容主要来源于《C++ Primer