11 2022 档案

摘要:5.3 常用排序算法 学习目标: 掌握常用的排序算法 算法简介: sort //对容器内元素进行排序 random_shuffle //洗牌 指定范围内的元素随机调整次序 merge // 容器元素合并,并存储到另一容器中 reverse // 反转(不是变为负数,而是排序反转)指定范围的元素 5. 阅读全文
posted @ 2022-11-12 12:03 小秦同学在上学 阅读(34) 评论(0) 推荐(0) 编辑
摘要:5.2 常用查找算法 学习目标: 掌握常用的查找算法 算法简介: find //查找元素 find_if //按条件查找元素 adjacent_find //查找相邻重复元素 binary_search //二分查找法 count //统计元素个数 count_if //按条件统计元素个数 5.2. 阅读全文
posted @ 2022-11-12 11:56 小秦同学在上学 阅读(48) 评论(0) 推荐(0) 编辑
摘要:5.1 常用遍历算法 学习目标: 掌握常用的遍历算法 算法简介: for_each //遍历容器 transform //搬运容器到另一个容器中 5.1.1 for_each 功能描述: 实现遍历容器 函数原型: for_each(iterator beg, iterator end, _func) 阅读全文
posted @ 2022-11-12 11:46 小秦同学在上学 阅读(94) 评论(0) 推荐(0) 编辑
摘要:4.3.4 逻辑仿函数 功能描述: 实现逻辑运算 函数原型: template<class T> bool logical_and<T> //逻辑与 template<class T> bool logical_or<T> //逻辑或 template<class T> bool logical_n 阅读全文
posted @ 2022-11-12 11:37 小秦同学在上学 阅读(22) 评论(0) 推荐(0) 编辑
摘要:4.3.3 关系仿函数 功能描述: 实现关系对比 仿函数原型: template<class T> bool equal_to<T> //等于 template<class T> bool not_equal_to<T> //不等于 template<class T> bool greater<T> 阅读全文
posted @ 2022-11-12 11:33 小秦同学在上学 阅读(30) 评论(0) 推荐(0) 编辑
摘要:4.3.2 算术仿函数 功能描述: 实现四则运算 其中negate是一元运算,其他都是二元运算 仿函数原型: template<class T> T plus<T> //加法仿函数 template<class T> T minus<T> //减法仿函数 template<class T> T mu 阅读全文
posted @ 2022-11-12 11:28 小秦同学在上学 阅读(26) 评论(0) 推荐(0) 编辑
摘要:4.2 谓词 4.2.1 谓词概念 概念: 返回bool类型的仿函数称为谓词 如果operator()接受一个参数,那么叫做一元谓词 如果operator()接受两个参数,那么叫做二元谓词 4.2.2 一元谓词 示例: #include <vector> #include <algorithm> / 阅读全文
posted @ 2022-11-12 11:24 小秦同学在上学 阅读(105) 评论(0) 推荐(0) 编辑
摘要:4 STL- 函数对象 4.1 函数对象 4.1.1 函数对象概念 概念: 重载 函数调用操作符 () 的类,其对象常称为函数对象 函数对象使用重载的()时,行为类似函数调用,也叫仿函数 本质: 函数对象(仿函数)是一个类,不是一个函数 4.1.2 函数对象使用 特点: 函数对象就是在类中对()的重 阅读全文
posted @ 2022-11-12 11:21 小秦同学在上学 阅读(49) 评论(0) 推荐(0) 编辑
摘要:3.9 map/ multimap容器 3.9.1 map基本概念 简介: 和set/multiset的区别: map中所有元素都是pair,每一个数据有两个方面值(key与value) pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值) 所有元素都会根据元素的键值自 阅读全文
posted @ 2022-11-11 11:01 小秦同学在上学 阅读(35) 评论(0) 推荐(0) 编辑
摘要:3.8 set/ multiset 容器 3.8.1 set基本概念 简介: 所有元素都会在插入时自动被排序 本质: set/multiset属于关联式容器,底层结构是用二叉树实现。 set和multiset区别: set不允许容器中有重复的元素 multiset允许容器中有重复的元素 3.8.2 阅读全文
posted @ 2022-11-11 10:51 小秦同学在上学 阅读(33) 评论(0) 推荐(0) 编辑
摘要:3.6 queue 容器 3.6.1 queue 基本概念 概念:Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口 队列容器允许从一端新增元素,从另一端移除元素 队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为 队列中进数据称为 入队 阅读全文
posted @ 2022-11-11 10:39 小秦同学在上学 阅读(29) 评论(0) 推荐(0) 编辑
摘要:3.7 list容器 3.7.1 list基本概念 功能: 将数据进行链式存储(链表) 链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的 链表的组成:链表由一系列结点组成 结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域 阅读全文
posted @ 2022-11-11 10:32 小秦同学在上学 阅读(24) 评论(0) 推荐(0) 编辑
摘要:3.3 deque容器 3.3.1 deque容器基本概念 功能: 双端数组,可以对头端进行插入删除操作 deque与vector区别: vector对于头部的插入删除效率低,数据量越大,效率越低 deque相对而言,对头部的插入删除速度回比vector快 vector访问元素时的速度会比deque 阅读全文
posted @ 2022-11-10 22:38 小秦同学在上学 阅读(30) 评论(0) 推荐(0) 编辑
摘要:3.5 stack容器 3.5.1 stack 基本概念 概念:stack是一种先进后出(First In Last Out,FILO)的数据结构 栈,它只有一个出口-出口叫栈顶,而且只能在栈顶操作 栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为(但是可以通过出栈来查看栈中数据) 栈中进 阅读全文
posted @ 2022-11-10 22:33 小秦同学在上学 阅读(30) 评论(0) 推荐(0) 编辑
摘要:3.2 vector容器 3.2.1 vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组 vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展: 并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原 阅读全文
posted @ 2022-11-10 22:22 小秦同学在上学 阅读(30) 评论(0) 推荐(0) 编辑
摘要:3.1 string容器 3.1.1 string基本概念 本质: string是C++风格的字符串,而string本质上是一个 类 string和char * 区别: char * 是一个指针(C语言) string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 特点 阅读全文
posted @ 2022-11-10 10:07 小秦同学在上学 阅读(39) 评论(0) 推荐(0) 编辑
摘要:1.2 函数模板 C++另一种编程思想称为 ==泛型编程== ,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 1.2.1 函数模板语法 函数模板作用: 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。 语法: template<typename 阅读全文
posted @ 2022-11-09 14:16 小秦同学在上学 阅读(85) 评论(0) 推荐(0) 编辑
摘要:5 文件操作 程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放 通过文件可以将数据持久化 C++中对文件操作需要包含头文件 ==< fstream >== 文件类型分为两种: 文本文件 - 文件以文本的ASCII码形式存储在计算机中 二进制文件 - 文件以文本的二进制形式存储在计算机中 阅读全文
posted @ 2022-11-09 09:25 小秦同学在上学 阅读(137) 评论(0) 推荐(0) 编辑
摘要:4.7 多态 4.7.1 多态的基本概念 多态是C++面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态:父类的指针或引用指向子类的对象 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译阶段确定函数地 阅读全文
posted @ 2022-11-09 09:19 小秦同学在上学 阅读(92) 评论(0) 推荐(0) 编辑
摘要:4.6 继承 继承是面向对象三大特性之一 有些类与类之间存在特殊的关系,例如下图中: 我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。 这个时候我们就可以考虑利用继承的技术,减少重复代码 4.6.1 继承的基本语法 例如我们看到很多网站中,都有公共的头部,公共的底部,甚至公 阅读全文
posted @ 2022-11-08 19:30 小秦同学在上学 阅读(82) 评论(0) 推荐(0) 编辑
摘要:4.5 运算符重载 运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 4.5.1 加号运算符重载 作用:实现两个自定义数据类型相加的运算 class Person { public: Person() {}; Person(int a, int b) { this- 阅读全文
posted @ 2022-11-08 14:33 小秦同学在上学 阅读(67) 评论(0) 推荐(0) 编辑
摘要:4.4 友元 生活中你的家有客厅(Public),有你的卧室(Private) 客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去 但是呢,你也可以允许你的好闺蜜好基友进去。 在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术 友元的目的就是让一 阅读全文
posted @ 2022-11-08 14:30 小秦同学在上学 阅读(39) 评论(0) 推荐(0) 编辑
摘要:4.3 C++对象模型和this指针 this指针的本质是一个指针常量,和引用一样,不能够修改指向,但是可以修改值 4.3.1 成员变量和成员函数分开存储 在C++中,类内的成员变量和成员函数分开存储 只有非静态成员变量才属于类的对象上(静态成员不属于任何类) class Person { publ 阅读全文
posted @ 2022-11-07 22:01 小秦同学在上学 阅读(57) 评论(0) 推荐(0) 编辑
摘要:4.2 对象的初始化和清理 生活中我们买的电子产品都基本会有出厂设置,在某一天我们不用时候也会删除一些自己信息数据保证安全 C++中的面向对象来源于生活,每个对象也都会有初始设置以及 对象销毁前的清理数据的设置。 4.2.1 构造函数和析构函数 对象的初始化和清理也是两个非常重要的安全问题 ​ 一个 阅读全文
posted @ 2022-11-07 20:08 小秦同学在上学 阅读(88) 评论(0) 推荐(0) 编辑
摘要:4.1 封装 4.1.1 封装的意义 封装是C++面向对象三大特性之一 封装的意义: 将属性和行为作为一个整体,表现生活中的事物 将属性和行为加以权限控制 封装意义一: ​ 在设计类的时候,属性和行为写在一起,表现事物 语法: class 类名{ 访问权限: 属性 / 行为 }; **示例1:**设 阅读全文
posted @ 2022-11-07 20:01 小秦同学在上学 阅读(38) 评论(0) 推荐(0) 编辑
摘要:3 函数提高 3.1 函数默认参数 在C++中,函数的形参列表中的形参是可以有默认值的。 语法: 返回值类型 函数名 (参数= 默认值){} 示例: int func(int a, int b = 10, int c = 10) { return a + b + c; } //1. 如果某个位置参数 阅读全文
posted @ 2022-11-07 19:59 小秦同学在上学 阅读(16) 评论(0) 推荐(0) 编辑
摘要:2 引用 2.1 引用的基本使用 作用: 就是给变量起别名,而且别名不能再给别人用,别名和原名使用同一块内存,一起改变。引用的本质是指针常量,不可以修改指向,但是可以修改指向的值。 语法: 数据类型 &别名 = 原名 示例: int main() { int a = 10; int &b = a; 阅读全文
posted @ 2022-11-07 19:56 小秦同学在上学 阅读(328) 评论(0) 推荐(0) 编辑
摘要:1 内存分区模型 C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的(自写代码会转为二进制代码)二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等(由编译器管理生死) 堆区:由程序员分配和释放,若程序 阅读全文
posted @ 2022-11-05 15:44 小秦同学在上学 阅读(116) 评论(0) 推荐(0) 编辑
摘要:8 结构体 8.1 结构体基本概念 结构体属于用户==自定义的数据类型==,允许用户存储不同的数据类型 8.2 结构体定义和使用 语法: struct 结构体名 { 结构体成员列表 };注意没有小括号 通过结构体创建变量的方式有三种:前两种方法可以省略 struct struct 结构体名 变量名 阅读全文
posted @ 2022-11-03 16:40 小秦同学在上学 阅读(96) 评论(0) 推荐(0) 编辑
摘要:7 指针 7.1 指针的基本概念 指针的作用: 可以通过指针间接访问内存 内存编号是从0开始记录的,一般用十六进制数字表示 可以利用指针变量保存地址,记得 指针就是地址 ​ 7.2 指针变量的定义和使用 指针变量定义语法: 数据类型 * 变量名; 示例: int main() { //1、指针的定义 阅读全文
posted @ 2022-11-01 16:27 小秦同学在上学 阅读(245) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示