自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白白的博客

学习笔记

  • 博客(23)
  • 问答 (4)
  • 收藏
  • 关注

原创 常用算法(学习笔记)

1.遍历算法(for_each,transform) #include <iostream> #include <vector> #include <algorithm> using namespace std; //普通函数 void print01_for_each(int val) { cout << val << " "; } //仿函数 class print02_for_each { public: void operator.

2021-07-29 17:07:43 264

原创 内建函数对象(学习笔记)

概念: STL内建了一些函数对象 分类: 算数仿函数 关系仿函数 逻辑仿函数 用法: 这些仿函数所产生的对象,用法和一般函数完全相同 使用内建函数对象,需要引入头文件#include<functional> 算数仿函数 功能: 实现四则运算 其中 negate是一元运算,其他都是二元运算 仿函数原型: template<class T> T plus<T>//加法 template<class T> T minus<T>//减法 templa

2021-07-27 16:13:59 177

原创 谓词(学习笔记)

概念: 返回bool类型的仿函数称为谓词 如果operator()接受一个参数,那么叫做一元谓词 如果operator()接受两个参数,那么叫做二元谓词 #include<iostream> using namespace std; #include<vector> #include<algorithm> //一元谓词 class CreatFive { public: bool operator()(int val) { retur...

2021-07-27 11:48:30 257

原创 函数对象(仿函数)(学习笔记)

概念: 查找函数调用操作符的类,去哦对象常称为函数对象 函数对象使用重载的()时,行为类似于函数调用,也叫仿函数 本质: 函数对象(仿函数)是一个类,不是个函数 函数对象使用的特点: 函数对象在使用时,可以像普通函数一样调用,可以有参数,可以有返回值 函数对象超出普通函数的概念,函数对象可以有自己的状态 函数对象可以作为参数传递 ...

2021-07-26 17:28:30 121

原创 STL-员工分组(学习笔记)

#include<iostream> using namespace std; #include<vector> #include<string> #include<map> #include<ctime> #define 策划 0 #define 美术 1 #define 研发 2 //创建员工类 class Worker { public: string m_name;//姓名 int m_salary;//工资 }; void Crea.

2021-07-26 13:05:51 201

原创 map/multimap(学习笔记)

1.基本概念 简介: map中所有元素都是pair pair中的第一个元素为key(键值),起到索引作用,第二个元素为value(实值) 所有元素都会根据键值自动排序 本质: map/mapmultimap属于关联式容器,底层结构是二叉树实现 优点: 可以根据key值快速找到value值 map/mapmultimap区别: map不允许容器有重复的key值元素(但value值可以相同) mulyimap允许容器有重复的key值元素 2.构造函数 #include<iostream&

2021-07-26 13:05:07 197

原创 set/multiser容器(学习笔记)

1.基本概念: 所有元素的会在插入时自动被排序 set/multiste属于关联式容器,底层是用二叉树实现 区别:set不允许容器中有重复的元素,mulitset允许有重复的元素 2.set的构造与赋值: 构造: set<T>st; set(const set &st); 赋值: set& operator=(const set &st); 3.大小与交换 功能: 统计set容器大小以及交换set容器 函数原型: size(); empty(); swap(st

2021-07-23 17:19:40 166

原创 list容器(学习笔记)

1.基本概念 功能: 将数据进行链式存储 链表的组成: 有一系列的结点组成 结点的组成: 一个存储元素的数据域,另一个存储下一个结0点地址的指针域,最后一个指针域指向空NULL STL中的链表是一个双向循环链表(后一个结点的指针域既指向下一个结点还指向上一个结点,第一个结点的指针域指向NULL;循环指的是最后一个结点指向第一个结点。 由于list的存储方式不是连续的内存空间,因此链表list的迭代器只支持前移和后移,属于双向迭代器 list的优点:采用动态存储分配,不会造成内存浪费和溢出;链表执

2021-07-22 20:20:14 182

原创 queue容器(学习笔记)

1.基本概念: queue是一种先进先出的数据结构他有两个出口;队里容器只允许从一端新增元素,从另一端移除元素;队列中只有对头和对位可以被外界使用,因此队列中不允许有遍历的行为。 2.queue常用接口 构造函数: queue<T>que;//queue采用模板类实现,queue对象的默认构造形式 queue(const queue&que)'//拷贝构造函数 赋值操作: queue &operator=(const queue&que);//重载等号操作符 数

2021-07-21 11:50:03 284

原创 stack容器(学习笔记)

1.基本概念 stack是一种先进后出的数据结构,它只有一个出口就是只有栈顶的元素可以被外界使用,因此栈不能被遍历。(push入栈 pop出栈) 栈可以通过(empty)判断是否为空 栈可以通过(size)统计元素个数 2.栈的常用接口 功能:栈容器常用的对外接口 构造函数: stack <T>stk;//stack采用模板类实现stack对象的默认构造形式 stack(const stack &stk);//拷贝构造函数 赋值操作: stack& operato=

2021-07-21 11:16:52 154

原创 STL容器-案例(学习笔记)

#include<iostream> using namespace std; #include<string> #include<vector> #include<deque> #include<algorithm> #include<ctime> //选手类 class Person { public: Person(string name, int score) { m_name = name; m_score = .

2021-07-15 19:10:31 219

原创 vector容器(学习笔记)

1.构造函数 功能:vector数据结构和数组非常相似,也称为单端数组 区别:数组是静态空间,vector可以动态扩展 动态扩展:并不是在原空间后续接新空间,而是找一个更大的内存空间,然后将原数据拷贝到新空间,再释放原空间。vector容器的迭代器是支持随机访问的迭代器 vector构造函数: 功能:创建一个vector容器 函数原型: vector<T> v;//采取模板实现类实现,默认构造函数 vector<v.begin().v.end());//将[v.begin().

2021-07-11 23:59:29 186

原创 string容器:子串(学习笔记)

函数原型: string substr(int pos=0;int n=npos) #include<iostream> using namespace std; #include<string> void test01() { string str1 = "hello"; string sub=str1.substr(1, 3);//ell cout << sub << endl; } void test02() { //实用案例 strin

2021-07-08 22:31:54 190

原创 string容器:插入和删除(学习笔记)

函数原型: string&insert(int pos,const char*s);//插入字符串 string&insert(int pos,const string&str);//插入字符串 string&insert(int pos,int n;char c);//在指定位置插入n个字符 string&erase(int pos,int n=pos);//删除从pos开始的n个字符 #include<iostream> using na

2021-07-08 22:19:16 320

原创 string容器:字符存取(学习笔记)

函数原型: char& operator[](int n);//通过[]的方式取字符 char& at(int n);//通过at的方式取字符 #include<iostream> using namespace std; #include<string> void test01() { string str1 = "hello"; //size() 计算字符串的长度 for (int i = 0; i ...

2021-07-08 22:10:15 141

原创 string容器:字符串比较(学习笔记)

//string字符串的比较:通常比较是否相等 //1、通过比较ASCLL码值的大小 //2、等于 返回0大于 返回 1 小于返回 -1 #include<iostream> using namespace std; #include<string> void test01() { string str1 = "hello"; string str2 = "allo"; if (str1.co...

2021-07-08 21:56:20 210

原创 string容器:查找和替换(学习笔记)

函数原型: int find(const string & str, int pos = 0)const;//查找str第一次出现的位置,从pos开始查找 int find(const char*s, int pos = 0)const;//查找s第一次出现的位置,从pos开始查找 int find(const char* s, int pos,int n)const;//从pos位置查找s的前n个字符第一次出现的位置 int find(const char c,

2021-07-06 22:13:30 277

原创 string容器:字符串拼接(学习笔记)

函数原型: string& operator+=(const char*s); string& operator+=(const char c); string& operator+=(const string&str); string& append(const char*s); string& append(const char*s,int n); string& append(const s

2021-07-06 21:30:17 209

原创 string容器:赋值操作(学习笔记)

赋值的函数原型: string& operator=(const char*s);//char*类型字符串 赋值给当前的字符串 string& operator=(const string&s);//把字符串s赋值给当前字符串 string& operator=(char c);//把字符赋值给当前字符串 string& assign(const char*s);//把字符串s赋值给当前字符串 string& as

2021-07-06 21:29:18 273

原创 string容器:构造函数(学习笔记)

特点:例如类内封装了许多成员方法:finf copy delete... string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部负责 string的构造函数: string(const char*s); //使用字符串s初始化 #include<iostream> using namespace std; #include<string> void test01() { string...

2021-07-06 21:28:09 186

原创 初识容器嵌套容器(学习笔记)

#include<iostream> using namespace std; #include<vector> #include<algorithm> void test01() { vector<vector<int>>v; //创建小容器 vector<int>v1; vector<int>v2; vector<int>v3; vector<int>v4; //向小容器中添加.

2021-07-04 20:39:25 375

原创 初识vector容器(学习笔记)

#include<iostream> using namespace std; #include<algorithm> //算法的头文件 #include<vector> //vector容器存放内置数据类型--类似于数组 //容器在使用时都要包含头文件 void test01() { //创建一个vector容器,数组 vector<int> v; //向容器中插入数据 v.push_back(10); v.pu...

2021-07-04 20:08:16 113

原创 STL初识(学习笔记)

C++面向对象的三大特性:封装,继承,多态 STL分为:容器,算法,迭代器--将容器和算法之间无缝连接 几乎所有代码都是模板类或模板函数 STL大体分为六大组件:容器,算法,迭代器,仿函数,适配器,空间配置器 容器(存放数据):运营广泛的一些数据结构实现出来,常见的数据结构:数组,链表,数,栈,队列,几何,映射表 等,容器分为序列式容器:强调值的顺序,序列式容器的每个元素都有固定的位置。关联式容器:二叉树结构,各元素之间没有严格的物理顺序。 算法(解决问题..

2021-07-02 12:23:44 95

空空如也

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

TA关注的人

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