随笔分类 -  C++ / C++学习内容

摘要: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 小秦同学在上学 阅读(40) 评论(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) 编辑

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