STL常用算法: (1)sort sort(v.begin(),v.end()); (2)unique auto end_unique = unique(begin(vec1), end(vec1))
算法主要是由头文件 #include 组成。 其中常用的功能涉及到比较,交换,查找,遍历,复制,修改,反转,排序,合并等。...常用遍历算法 for_each /* 遍历算法 遍历容器元素 @param beg 开始迭代器 @param end 结束迭代器 @param _callback 函数回调或者函数对象...回调函数或者谓词(返回 bool 类型的函数对象) @return int 返回元素个数 */ count_if(iterator beg, iterator end, _callback); 常用排序算法...反转指定范围的元素 @param beg 容器开始迭代器 @param end 容器结束迭代器 */ reverse(iterator beg, iterator end) 常用拷贝和替换算法...value t 填充元素 */ fill(iterator beg, iterator end, value) 常用集合算法 /* set_intersection 算法 求两个 set 集合的交集
查找算法 adjacent_find() 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器。否则返回past-the-end。...vecInt.push_back(6); int iCount = count(vecInt.begin(),vecInt.end(),8); //iCount==2 count_if() count_if 算法计算中的元素范围...3 //4 set::iterator it2 = mypair.second; cout << "it2:" << *it2 << endl; //4 //4 查找算法...merge() 以下是排序和通用算法:提供元素排序策略 merge: 合并两个有序序列,存放到另一个序列。
图片算法主要由头文件,,组成是所有STL头文件中最大的一个,范围涉及到比较、交换、查找、遍历、复制、删除等体积很小,只包括几个在序列上面进行简单数学运算的模板函数定义了一些模板类,用来声明函数对象常用遍历算法for_each遍历for_each(iterator beg, iterator...end, _func);//遍历容器beg//起始迭代器end//结束迭代器_func()//函数或函数对象for_each是实际开发中最常用的遍历算法,需要熟练掌握#include<iostream...= v2.end(); it++) { cout << *it << " "; } return 0;}常用查找算法find//查找元素find_if//按条件查找元素adjacent_find....end(), Print()); for_each(v2.begin(), v2.end(), Print());}int main(){ test01(); return 0;}常用算术生成算法算术生成算法属于小型算法
transform 功能描述 函数原型 ---- 1.for_each 功能描述 实现容器遍历 函数原型 for_each(itertor beg,iterator end,_func); //遍历算法
#include using namespace std; #include #include #include //常用查找算法...#include using namespace std; #include #include #include //常用查找算法...} 3.adjacent_find #include using namespace std; #include #include //常用查找算法...} 4.binary_search #include using namespace std; #include #include //常用查找算法...#include using namespace std; #include #include #include //常用查找算法
需要引入头文件#include<algorithm> 1.for_each #include<iostream> using namespace std; #i...
include using namespace std; #include #include #include //常用排序算法...#include using namespace std; #include #include #include //常用排序算法...vectorv; for (int i = 0; i < 10; i++) { v.push_back(i); } //利用洗牌 算法...namespace std; #include #include void myPrint(int val) { cout << val << " "; } //常用排序算法...return 0; } 4.reverse #include using namespace std; #include #include //常用排序算法
.set_intersection #include using namespace std; #include #include //常用集合算法...return 0; } 2.set_union #include using namespace std; #include #include //常用集合算法...namespace std; #include #include void myPrint(int val) { cout << val << " "; } //常用集合算法
<< endl; Tips: 所有的STL容器都支持这两个方法,含义也相同。 ---- 1.3 清空 利用clear函数把vector清空。...<< endl; ---- 1.4 迭代器 迭代器就像STL容器的“指针”,可以用星号*操作符解除引用。...---- 5.2 常用操作 size/empty/clear/begin/end 均于 set 类似,但对于 insert/erase 的参数为 pair。...---- 6.2 常用操作 string str1 = "abcdefghigklmn" ; string str2 = str1.substr(2,5) ; //将str1从下标2开始的5个字符赋值给
文章目录 一、STL 算法概念 1、STL 算法头文件 2、STL 算法思想 - 数据与算法分离 3、STL 算法 迭代器 4、STL 算法 操作对象 二、STL 算法分类 一、STL 算法概念 1、STL...算法头文件中 包含算法最多的一个 , 包含常用的 : 比较算法、交换算法、查找算法、遍历算法、复制算法、修改算法、反转算法、排序算法、合并算法 等 算法 ; 头文件 包含的算法较少...STL 算法思想 - 数据与算法分离 STL 算法 的 核心思想是 将 算法 和 数据结构 分离 , 使得 算法 可以 独立于 数据结构 进行操作 ; 由于 STL 算法 都是 模板函数 , 算法 不直接操作...具体的数据类型 , 也就是说 STL 算法 可以 作用于 各种不同的 数据结构 , STL 算法的使用 提高了代码的 复用性 和 可维护性 ; 3、STL 算法 迭代器 STL 算法 通常 通过 迭代器...容器 基本都定义了其本身所 专用的迭代器 , 用以访问容器中的元素 ; 4、STL 算法 操作对象 STL 算法 操作对象 是 " STL 容器中的元素 " , 所有的 STL 算法 , 操作 容器元素时
STL 常用操作 ---- 1. vector ---- 1.1 声明 #include // 头文件 vector a; // 相当于一个长度动态变化的int...<< endl; Tips: 所有的STL容器都支持这两个方法,含义也相同。 ---- 1.3 清空 利用clear函数把vector清空。...<< endl; ---- 1.4 迭代器 迭代器就像STL容器的“指针”,可以用星号*操作符解除引用。...---- 5.2 常用操作 size/empty/clear/begin/end 均于 set 类似,但对于 insert/erase 的参数为 pair。...---- 6.2 常用操作 string str1 = "abcdefghigklmn" ; string str2 = str1.substr(2,5) ; //将str1从下标2开始的5个字符赋值给
向容器中添加元素 1.accumulate #include using namespace std; #include #include //常用算术生成算法...include using namespace std; #include #include #include //常用算术生成算法
:互换两个容器的元素 1.copy #include using namespace std; #include #include //常用拷贝和替换算法...class MyPrint { public: void operator()(int val) { cout << val << " "; } }; //常用拷贝和替换算法...class Greater30 { public: bool operator()(int val) { return val >= 30; } }; //常用拷贝和替换算法...return 0; } 4.swap #include using namespace std; #include #include //常用拷贝和替换算法
无疑是STL 中最大的一个头文件,它是由一大堆模板函数组成的。...insert = ( 0 3 6 9 0 10 20 21 24 27 30 ) v2 with shifted insert = ( 0 3 0 10 20 10 20 21 24 27 30 ) STL
一、STL 容器简介 1、STL 容器区别 STL 容器 用于管理 一组 数据元素 , 不同类型的 STL 容器 的区别 主要是 节点 和 节点之间的关系模型 不同 ; 容器的内存空间是否连续 : 向量...插入到中间 , 插入到首部 , 插入到尾部 ; 容器中的元素移除限制 : 是否允许 移除中间元素 , 移除首部元素 , 移除尾部元素 ; 数据结构 主要是 研究 节点 与 节点 之间关系的 ; 2、STL...容器分类 STL 容器 分为 2 大类 , 分别是 " 序列式容器 " 和 " 关联式容器 " ; 序列式容器 : Sequence Containers , 容器中每个元素的位置都是固定的 , 元素的位置取决于插入元素的...集合 Set , 多重集合 MultiSet , 映射 Map , 多重映射 MultiMap 是 关联式容器 ; 如下图所示 , 关联式容器的元素位置与特定规则有关 , 与插入时间和位置无关 ; 3、常用的...STL 容器 常用的 STL 容器 : 向量 vector : 是连续存储的元素 , 其内存是连续的 ; 可以 访问和修改任意元素 , 但在 序列尾部 进行 插入 和 删除时 , 具有常量时间复杂度
下面给出几个常用的定义vector 向量对象的方法示例:38 vector s; 定义一个空的vector 对象,存储的是int 类型的元素。...iterator(迭代器)是STL 容器和算法之间的“胶合剂”,几乎所有的STL 算法都是通过容器的iterator(迭代器)来访问容器内容的。...只有通过有效地运用iterator(迭代器),才能够有效地运用STL 强大的算法功能。...STL 为我们提供了另一种使用起来更为便捷的字符串的表达方式:string。string 类的定义在头文件中。...39准确地说,STL 中的stack 和queue 不同于vector、list 等容器,而是对这些容器的重新包装。
用于逐个遍历容器元素,它对迭代器区间[first,last)所指的每一个元素,执行由单参数函数对象f所定义的操作。方法返回函数对象。
引言 我们都知道,C++中有许多内置的库函数,我们可以直接调用它们,在蓝桥杯,ACM等比赛中,通过使用这些常用的库函数可以大大提高我们的效率,而不用自己去再重新去手写一些函数,那么本篇文章就为大家盘点了一些比较常用的库函数
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170933.html原文链接:https://javaforall.cn
领取专属 10元无门槛券
手把手带您无忧上云