自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 5.6 - 常用集合算法

算法简介:set_intersection //求两个容器的交集 set_union //求两个容器的并集 set_difference //求两个容器的差值一、set_intersection函数原型:set_intersection(iterator beg1, iterator end1, iterator beg2, iterator end2, iterator dest); //求两个集合交集 //注意:两个集合必须...

2021-06-05 23:58:46 345

原创 5.5 常用算术生成算法

D

2021-05-02 21:01:50 131

原创 5.4 - 常用拷贝和替换算法

算法简介:copy //容器内指定范围的元素拷贝到另一容器 replace //将容器内指定范围的旧元素修改为新元素 replace_if //容器内指定范围满足条件的元素替换为新元素 swap // 互换两个容器的元素一、copy函数原型copy( iterator beg, iterator end, iterato...

2021-05-02 20:31:04 91

原创 5.3 - 常用排序算法

算法简介sort //对容器内元素进行排序random_shuffle //洗牌 指定范围内的元素随机调整次序merge //容器元素合并,并存储到另一个容器中reverse //反转指定范围的元素一、sort函数原型sort(iterator beg, iterator end, _Pred); //按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置...

2021-04-27 00:06:28 72

原创 5.2 - 常用查找算法

算法简介:find //查找元素 find_if //按条件查找元素 adjacent_find //查找相邻重复元素 binary_search //二分查找法 count //统计元素个数 count_if //按条件统计元素个数一、find功能描述查找指定元素,找到返回指定元素的迭代器,找不到返回结束迭代器end()函数原型find(ite...

2021-04-12 22:50:23 47

原创 5.1 - 常用遍历算法

概述算法主要是由头文件<algorithm> <functional> <numeric>组成 <algorithm>是所有STL头文件中最大的一个,范围涉及到比较、交换、查找、遍历操作、复制、修改等等 <numeric>体积很小,只包括几个序列上面进行简单数学运算的模板函数 <functional>定义了一些模板类,用以声明函数对象学习目标:掌握常用的遍历算法算法简介:for_each //遍历容器 tran.

2021-04-12 22:07:16 107

原创 4.3 - 内建函数对象

目录一、内建函数对象意义1.1概念1.2分类1.3用法二、算术仿函数2.1功能描述2.2仿函数原型三、关系仿函数3.1功能描述3.2仿函数原型四、逻辑仿函数4.1功能描述4.2函数原型一、内建函数对象意义1.1概念STL内建了一些函数对象1.2分类算术仿函数 关系仿函数 逻辑仿函数1.3用法这些仿函数所产生的对象,用法和一般函数完全相同 使用内建函数对象,需要引入头文件 #include<functional&gt...

2021-04-04 23:30:48 77

原创 4.2 - 谓词

一、谓词概念概念:返回bool类型的仿函数称为谓词 如果operator()接受1个参数,那么叫一元谓词 如果operator()接受2个参数,那么叫二元谓词一元谓词#include <iostream>#include<vector>using namespace std;//1、一元谓词class GreaterFive{public: bool operator()(int val) { return val > 5; }

2021-03-31 23:26:34 448

原创 4.1 - STL-函数对象(仿函数)

一、函数对象概念本质:函数对象(仿函数)是一个类,不是一个函数概念重载函数调用操作符的类,其对象常称为函数对象 函数对象使用重载的()时,行为类型函数调用,也叫仿函数二、函数对象使用特点函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值 函数对象超出普通函数的概念,函数对象可以有自己的状态 函数对象可以作为参数传递(前面涉及容器更改排序规则用到过)#include <iostream>#include<string>using n

2021-03-30 23:07:50 46

原创 3.10 - 案例-员工分组

一、案例描述

2021-03-28 12:19:28 246

原创 3.9 - map/multimap容器

一、基本概念

2021-03-27 23:05:51 50

原创 3.8 - set/multiset容器

一、基本概念所有元素都会在插入时自动被排序本质:set/multiset属于关联式容器,底层结构是用二叉树实现区别:set不允许容器中有重复的元素 multiset允许容器中有重复的元素二、set构造和赋值构造set<T> st; //默认构造函数 set(const set& st); //拷贝构造函数赋值set& oper...

2021-03-22 22:04:05 94

原创 3.7 - list容器

一、list基本概念功能:将数据进行链式存储链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的STL中的链表是一个双向循环链表STL中list和vector是两个最常被使用的容器,各有优缺点二、list构造函数函数原型list<T> lst; //采用模板类实现对象的默认构造形式 list(beg,end); //构造函数将[beg,end]区间中的元素拷贝给本身 list(n,elem...

2021-03-20 19:17:18 195

原创 3.6 - queue容器

Queue是一种先进先出的数据结构,它有两个出口只有对头和队尾能被外界访问,因此不允许有遍历行为功能描述:栈容器的常用对外接口构造函数queue<T> que; //queue采用模板类实现,queue对象的默认构造形式 queue(const queue &que); //拷贝构造函数赋值操作queue &operator=(const queue &que); //重载等号操作符​​​​​​​数据存取push(...

2021-03-18 23:12:28 58

原创 3.5 - stack容器

栈容器常用的对外接口构造函数stack<T> stk; //stack采用模板类实现,stack对象的默认构造形式 stack(const stack &stk); //拷贝构造函数赋值操作stack& operator=(const stack &stk); //重载等号操作符数据存取push(elem); ...

2021-03-16 23:57:43 59

原创 3.4 - 案例-评委打分

案例描述有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去掉最高分,去除最低分,取平均分实现步骤创建5名选手,放到vector中 遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打分存到deque容器中 sort算法对deque容器中分数排序,去除最高分和最低分 deque容器遍历一遍,累加总分 获取平均分#include <iostream>#include <vector>#include <deque>

2021-03-16 00:02:10 269

原创 3.3 - deque容器

目录一、deque容器基本概念二、deque容器构造函数三、deque赋值操作四、deque大小操作五、deque插入和删除六、deque数据存取七、deque排序一、deque容器基本概念功能双端数组,可以对头端进行插入删除操作deque与vector区别vector对于头部的插入删除效率低,数据量越大,效率越低 deque相对而言,对头部的插入删除速度会比vector快 vector访问元素时的速度会比deque快,这和两者内部实现有关 deque容器

2021-03-13 20:45:58 77

原创 3.2 - vector容器

一、vector容器基本概念vector数据结构和数组非常相似,也称为单端数组 与数组不同之处在于数据是静态空间,而vector可以动态扩展 动态扩展:并不是在原空间之后续接新空间,而是找到更大的内存空间,然后将原数据拷贝新空间,释放原空间 vector容器的迭代器是支持随机访问的迭代器...

2021-03-07 00:16:37 92

原创 3.1 - string容器

一、string基本概念sting本质为一个类,类内部封装了char*,管理这个字符串 ,是一个char*型的容器 char* 是一个指针二、string构造函数#include <iostream>#include <string>using namespace std;/* - string(); //创建一个空的字符串 例如string str; string(const char* s); //使

2021-03-05 23:41:16 66

原创 2 - STL初始

一、STL初始 - vector存放内置数据类型#include <iostream>#include <vector>using namespace std;#include <algorithm> //标准算法void myPrint(int val){ cout << val << endl;}//vector容器存放内置数据类型void test01(){ //创建了一个vector容器 ,这

2021-03-03 23:26:46 72 1

原创 类模板

一、类模板基本语法//类模板template<class T1 , class T2>class Person{public: Person(T1 name, T2 age) { this->m_name = name; this->m_age = age; } void showPerson() { cout << "name:" << this-&...

2021-02-28 22:00:38 1889

原创 函数模板语法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、代码 二、总结 一、代码//函数模板template<typename T> //声明一个模板,告诉编译器后面代码中紧跟着的T不要报错,T是一个通用数据类型void mySwap(T &a, T &b){ T temp = a; a = b; b = temp;}template -- 声明创建模板typename -- 表面其后面的符号是一种数据.

2021-02-15 22:29:49 169

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除