示例:使用sort算法对vector容器中的整数进行排序 #include<iostream>#include<vector>#include<algorithm>usingnamespacestd;intmain(){// 创建一个vector容器存储整数vector<int> nums = {5,2,8,1,9,3};// 使用sort算法对vector容器中的整数进行排序sort(nums.begin(), nums.end());// 输出排序后的结果for...
“algorithm”头文件是实用性巨大的标准模板库(STL,Standard Template Library)的算法部分,里边定义了STL各种算法。像大家熟悉的各种容器(container),诸如vector、list等;以及迭代子(iterator)都属于标准模板库的成员。 另外需要注意STL和标准程序库的区别,STL是属于C++标准程序库(C++ Standard Library)一部分。标准程序库...
#include<iostream> #include<algorithm> #include<vector> using namespace std; //常用遍历算法for_each //普通函数 void print01(int val) { cout<<val<<' '; } //仿函数 class print02 { public: void operator()(int val) { cout<<val<<' '; } } ; //测试案例 void test01() { vector<i...
algorithm头文件中主要包含的是一大堆模板函数,即STL库提供的算法,可以认为每个函数在很大程度上是独立的。提供的算法种类有: 1)adjacent_find//检测区间内第一对相等的相邻元素 template<classFwIt> FwItadjacent_find(FwdItfirst,FwdItlast);//如果成功,返回first+N,N满足*(first+N)==*(first+N+1);如果不...
#include<algorithm> using namespace std; void printElem(int& elem) { cout<<elem<<endl; } int main() { int ia[]={0,1,2,3,4,5,6}; int *i=find(ia,ia+7,9);//在整个数组中查找元素 9 int *j=find(ia,ia+7,3);//在整个数组中查找元素 3 ...
算法(Algorithm),是用来操作容器中的数据的模板函数。例如,STL用sort()来对一个vector中的数据进行排序,用find()来搜索一个list中的对象,函数本身与他们操作的数据的结构和类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用; 仿函数(Functor) ...
STL(Standard Template Library,标准模板库),是惠普实验室开发的一系列软件的统称。现在主要出现在 c++中,但是在引入 c++之前该技术已经存在很长时间了。STL 从广义上分为: 容器(container) 算法(algorithm) 迭代器(iterator)。容器和算法之间通过迭代器进行无缝连接。STL 几乎所有的代码都采用了模板类或者模板函数,...
#include <algorithm> #include "functional" //函数对象 类重载了() template <typename T> class PrintT{ public: void operator()(T& t){ cout << t << endl; } }; int main() { // 创建一个 vector 单端数组容器 vector<int> vec; ...
3. 算法(Algorithm) (部分书籍称为泛型算法,generic algorithms),是一类常用的算法模板,既可以对容器进行操作,同时其开放性也让算法类本身可以针对数组或者是自定义结构体等结构进行直接的操作。 4. *仿函数(Function object)(又称为函数对象,function object) ...
STL是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都...