自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++——常用集合算法

1.set intersection//求两个容器的交集2.set union //求两个容器的并集3.set difference //求两个容器的差集。

2024-01-07 12:04:30 964

原创 C++——常用算术生成算法

accumulate// 计算容器元素累计总和fill// 向容器中添加元素。

2024-01-06 23:09:08 354

原创 C++——常用拷贝和替换算法

1. copy // 容器内指定范围的元素拷贝到另一容器中2. replace // 将容器内指定范围的旧元素修改为新元素3. replace if // 容器内指定范围满足条件的元素替换为新元素4. swap // 互换两个容器的元素。

2024-01-06 22:56:33 863

原创 C++——常用排序算法

1.sort //对容器内元素进行排序2.random_shuffle //洗牌 指定范围内的元素随机调整次序3.merge // 容器元素合并,并存储到另一容器中4.reverse // 反转指定范围的元素。

2024-01-06 22:48:06 402

原创 C++——常用查找算法

统计自定义数据类型时候,需要配合重载 operator==

2024-01-06 22:26:23 704

原创 C++——算法概述与常用遍历算法

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

2024-01-06 21:46:06 317

原创 C++——内建函数对象

template<class T> T minus<T> //减法仿函数。template<class T> T plus<T> //加法仿函数。template<class T> T multiplies<T> //乘法仿函数。template<class T> T divides<T> //除法仿函数。template<class T> T modulus<T> //取模仿函数。template<class T> T negate<T> //取反仿函数。

2024-01-06 21:29:09 939

原创 C++——谓词

参数只有一个的谓词,称为一元谓词参数只有俩个的谓词,称为二元谓词仅个人看。

2024-01-06 17:51:19 340

原创 C++——函数对象

仿函数写法灵活,可以作为参数进行传递.仅个人看。

2024-01-06 17:40:34 343

原创 C++——案例-员工分组

1公司今天招聘了10个员工(ABCDEFGHI)110名员工进入公司之后,需要指派员工在那个部门工作。3.分组后,将员工部门编号作为key,具体员工作为value,放入到multimap容器中。4.通过multimap进行信息的插入 key(部门编号) value(员工)2.员工信息有: 姓名 工资组成;2.遍历vector容器,取出每个员工,进行随机分组。1.创建10名员工,放到vector中。3.随机给10名员工分配部门和工资。5.分部门显示员工信息。4.分部门显示员工信息。

2024-01-06 16:48:54 306

原创 C++——map容器插入,删除,查找,统计与排序

map插入方式很多,记住其一即可* 插入 ---insert* 删除 --- erase* 清空 --- clear。

2024-01-06 16:30:05 471

原创 C++——map/ multimap容器的基本概念与构造和赋值

1.map中所有元素都是pair2.pair中第一个元素为key (键值),起到索引作用,第二个元素为value (实值)。3.所有元素都会根据元素的键值自动排序。

2024-01-06 15:55:44 374

原创 C++——set容器的排序与(自定义类型排序)

/set容器排序,存放自定义数据类型class Person//自定义数据类型public:int m_Age;class comparePerson//仿函数public://按照年龄 降序//创建Person对象//自定义数据类型 都会指定排序规则Person p1("刘备", 24);Person p2("关羽", 28);Person p3("张飞", 25);Person p4("赵云", 21);//插入报错//遍历it!= s.end();

2024-01-06 13:42:52 541

原创 C++——set容器的查找,统计和与multiset容器的区别(pair对组创建)

如果不允许插入重复数据可以利用set如果需要插入重复数据利用multiset仅个人看。

2024-01-06 12:47:56 415

原创 C++——set/multiset容器的基本概念,构造赋值与插入和删除

所有元素都会在插入时自动被排序。

2024-01-06 11:48:06 354

原创 C++——list容器排序案例

将Person自定义数据类型进行排序,Person中属性有姓名、年龄、身高排序规则: 按照年龄进行升序,如果年龄相同按照身高进行降序。

2024-01-06 11:02:11 828

原创 C++——list容器的插入,删除,数据存取与反转和排序

尾插 --push_back*尾删 --pop_back*头插 --push_front*头删 --pop_front*插入 --insert*删除 --erase*移除 --remove*清空 --clear。

2024-01-05 22:48:21 473

原创 C++——list容器放入赋值,交换与大小操作

/重新指定容器的长度为num,若容器变长,则以elem值填充新位置。//将[beg, end)区间中的数据拷贝赋值给本身。//重新指定容器的长度为num,若容器变长,则以默认值填充新位置。//将lst与本身的元素互换。//将n个elem拷贝赋值给本身。//如果容器变短,则末尾超出容器长度的元素被删除.//如果容器变短,则末尾超出容器长度的元素被删除。//返回容器中元素的个数。//判断容器是否为空。

2024-01-05 22:28:24 409

原创 C++——list容器的基本概念与构造函数

将数据进行链式储存链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的:链表由一系列结点组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域STL中的链表是一个双向循环链表:节点的指针域有两个指针 prev--指向上一个节点 next--指向下一个节点:最后一个节点的next可以指向第一个节点由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器。

2024-01-05 21:42:51 396

原创 C++——queue容器基本概念与常用接口

/queue采用模板类实现,queue对象的默认构造形式。//从队头移除第一个元素。//返回最后一个元素。push(elem);//判断堆栈是否为空。3.队列中进数据称为--入队 push。4.队列中出数据称为--出队 pop。* 判断队是否为空 --empty。* 返回对头元 --front。* 返回队尾元素 --back。* 返回队列大小 --size。* 入队 --push。

2024-01-05 21:25:26 371

原创 C++——stack的基本概念与常用接口

/stack采用模板类实现,stack对象的默认构造形式。概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口。//从栈顶移除第一个元素。//判断堆栈是否为空。push(elem);栈中进入数据称为 --入栈push。栈中弹出数据称为 --出栈pop。*判断栈是否为空--empty。*返回栈大小--size。*返回栈顶--top。

2024-01-05 21:08:23 442

原创 c++容器案例

有5名选手: 选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。2.遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打分存到deque容器中。3.sort算法对deque容器中分数排序,去除最高和最低分。1.创建五名选手,放到vector中。4.deque容器遍历一遍,累加总分。

2024-01-05 20:52:43 551

原创 C++——deque容器的插入,删除,数据存取和排序

/在pos位置插入一个elem元素的拷贝,返回新数据的位置。//删除[beg,end)区间的数据,返回下一个数据的位置。//在pos位置插入[beg,end)区间的数据,无返回值。//删除pos位置的数据,返回下一个数据的位置。sort(iterator beg,iterator end) //对beg和end区间内元素进行排序。//在pos位置插入n个elem数据,无返回值。//删除容器最后一个数据。//在容器头部插入一个数据。//返回容器中第一个数据元素。//返回容器中最后一个数据元素。

2024-01-05 15:14:22 591

原创 C++——deque容器的赋值,大小

/将[ben,end)区间中的数据拷贝赋值给本身。//如果容器变短,则未尾超出容器长度的元素被删除。//如果容器变短,则末尾超出容器长度的元素被删除。//重新指定容器的长度为num,若容器变长,则以elem值填充新位置。//重新指定容器的长度为num,若容器变长,则以默认值填充新位置。1.deque&operator=(const deque &deq)//重载等号操作符。//返回容器中元素的个数。//判断容器是否为空。

2024-01-05 14:49:35 463

原创 C++——deque容器的基本概念与构造函数

/构造函数将[beg,end)区间的元素拷贝给本身。所以其访问是通过中控器的地址访问缓冲区,因此其访问速度较慢,上一个缓冲区访问完了,*deque<T>deqT;中控器维护的是每个缓冲区的地址,使得deque时像一片连续的内存空间。*deque相对而言,对头部的插入删除速度会比vector块。*vector对于头部的插入删除效率低,数据量越大,效率越低。push-front() 头部插入。

2023-12-22 00:02:30 371

原创 C++——vector互换容器与预留空间

/容器预留len个元素长度,预留位置不初始化,元素不可访问.总结:swap可以使两个容器互换,可以达到实用的收缩内存效果。总结:如果数据量较大,可以一开始利用reserve预留空间。swap(vec);//将vec与本身的元素互换。功能描述:减少vector在动态扩展容量时的扩展次数。功能描述:实现两个容器内元进行互换。

2023-11-26 13:15:20 372

原创 C++——vector插入与删除和数据存取

尾插 --- push_back尾删 --- pop_back插入 --- insert (位置提供的是代器)删除 --- erase (位置提供的是代器)清空 --- clear。

2023-11-26 12:28:28 359

原创 C++——vector基本概念,构造函数,赋值操作与容量和大小

/将[beg,end)区间中的数据拷贝赋值给本身。//将n个elem拷贝赋值给本身。//将v(begin(),end())区间中的元素拷贝给本身。//构造函数将n个elem拷贝给本身。/*重新指定容器的长度为num,若容器变长,则以elem值填充新位置。/*重新指定容器的长度为num,若容器变长,则以默认值填充新位置。//如果容器变短,则末尾超出容器长度的元素被删除*///返回容器中元素的个数。

2023-11-26 10:24:53 260

原创 C++——string的字符串比较,字符存取,插入和删除和子串

/返回由pos开始的n个字符组成的字符串。//在指定位置插入n个字符C。//删除从Pos开始的n个字符。

2023-11-25 14:46:53 399 2

原创 C++——string的概念-构造-赋值-字符串拼接与查找和替换

/从pos位置查找s的前n个字符第一次位置。

2023-11-24 13:38:48 129

原创 C++——vector容器嵌套容器

目标:实现容器中嵌套容器,并将所有数据进行遍历输出。

2023-11-22 09:54:26 92

原创 C++——vector存放自定义数据类型

目标:实现vector中存放自定义数据类型,并打印输出。

2023-11-22 09:30:14 122

原创 C++——vector存放内置数据类型

迭代器:vector<int>::iterator + 迭代器名。算法:for_each。

2023-11-21 19:28:22 40

原创 C++—— 认识STL

| 任意数据,功能最强的迭代器 | <、<= v、v= ||双向迭代器 |读写操作,并能向前和向后操作 | 读写,支持++、--, ||前向迭代器 |读写操作,并能向前推进迭代器 | 读写,支持++、==、!|随机访问迭代器 |读写操作,可以以跳跃的方式访问| 读写,支持++、-、[n]、-n、|

2023-11-21 19:01:37 14

原创 C++——类模板案例

4.提供对应的拷贝构造函数以及operator=防止浅拷贝问题。5.提供尾插法和尾删法对数组中的数据进行增加和删除。1.可以对内置数据类型以及自定义数据类型进行储存。7.可以获取数组中当前元素个数和数组的容量。6.可以通过下标的方式访问数组中的元素。3.构造函数中可以传入数组的容量。2.将数组中的数据存储到堆区。总结:能够利用所学知识实现通用的数组。

2023-11-13 11:54:50 21

原创 C++——类模版与友元

全局函数类外实现-需要提前让编译器知道全局函数的存在。总结:建议全局函数做类内实现,用法简单,而且编译器可以直接识别。*掌握类模版配合友元函数的类内和类外实现。全局函数类内实现-直接在类内声明友元即可。

2023-11-12 22:13:29 16

原创 C++——模版分文件编写

原因:这是因为类模版中的成员函数在调用时才创建,因此当你包含.h时,编译器进入后看到.h的代码后,不会生在你运行的.cpp成函数,然后对于调用的.cpp中的那些模版的函数,编译器也没介绍过,因此编译器不会去找这些函数也不会创建.正常得的,我们会将函数声明放在.h,将实现放在.pp 如果我们将函数模版也这样操作,编译器不会报错,但是运行调用模版时会出现找不到链接的错误.将.h和.cpp的东西写在同一个文件里,后缀名改为.hpp,后人看到.hpp为后缀时会默认这是模版文件。.hpp不是强制的,但是是约定俗成。

2023-11-09 10:50:27 34

原创 C++——类模版成员函数类外实现

学习目标:能够掌握类模版中的成员函数类外实现总结:类模版中成员函数类外实现时,需要加上模版参数列表。

2023-11-09 10:25:48 79

原创 C++——类模版

建立一个通用类,类中的成员数据类型可以不具体制定,用一个虚拟函数类型来代表.*当子类继承的父类是一个模版时,子类在声明的时候,要指定出父类中T的类型。T -- 通用的数据类型,名称可以替换,通常为大写字母。* 如果想灵活指定出父类中T类型,子类也需要变为类模版。2.参数模版化 -- 将对象的参数变为模版进行传递。3.整个类模版化 -- 将这个对象类型模版进行传递。1.指定传入的类型 -- 直接显示对象的数据类型。2.类模版在模版参数列表中可以有默认参数。*类模版实例化出的对象,向函数传参的方式。

2023-11-08 11:16:47 16

原创 C++——函数模板

模板就是建立通用的模具,大大提高复用性*c++另一种编程思想为泛型编程,主要利用的技术是模板*c++提供两种模板机制:函数模板和类模板。

2023-11-08 10:39:37 14

空空如也

空空如也

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

TA关注的人

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