随笔分类 - STL泛型编程
摘要:一:问题引出 (一)建立了两个集合对象(不是一个) (二)将集合s1放入map中(并未将s2放入map) (三)我们直接比较s1和s2(发现结果确实是两种相等) (四)我们单独修改s1,之后使用==与s2比较(发现两种不同) 二:源码分析(符号重载) (一).集合继承于_Tree (二)._Tree
阅读全文
摘要:一:常用的查找算法 (一)adjacent_find():邻接查找 (二)binary_search():二分查找 (三)count和count_if: (四)find和find_if:同上 二:常用的排序算法 (一)merge() (二)sort():使用如上 (三)random_shuffle(
阅读全文
摘要:一:适配器简介 (一)函数适配器简介 (二)绑定适配器(bind adaptor) (三)组合适配器(composite adaptor) (四) 指针函数适配器(pointer adaptor) (五)成员函数适配器(member function adaptor) 二:函数适配器辅助函数 三:常
阅读全文
摘要:一:函数对象(仿函数):实现状态记录等其他操作<相对于普通函数> (一)一元函数对象案例:实现数据显示 普通函数调用: 仿函数调用: (二)二元函数对象案例:实现两个数相加 仿函数实现: 二:谓词:实现过滤 (一)一元谓词案例 回调函数实现:判断string对象长度是否大于6 仿函数实现:找出被某个
阅读全文
摘要:一:算法概述 二:算法分类 (一)根据操作对象分类 (二)根据功能分类 1.非可变序列算法:指不直接修改其所操作的容器内容的算法 2.可变序列算法:指可以修改它们所操作的容器内容的算法 3.排序算法: 包括对序列进行排序和合并的算法、搜索算法以及有序序列上的集合操作 4.数值算法: 对容器内容进行数
阅读全文
摘要:一:理论提高 二:STL容器特点 (一)除了queue与stack外,每个容器都提供可返回迭代器的函数,运用返回的迭代器就可以访问元素。 (二)通常STL不会丢出异常。要求使用者确保传入正确的参数。 (三)每个容器都提供了一个默认构造函数跟一个默认拷贝构造函数。 三:各个容器使用时机 (一)dequ
阅读全文
摘要:一:无序容器简介 二:性能测试 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <stdio.h> #include <cstring> #if _MSC_VER #define snprintf _snprintf #end
阅读全文
摘要:一:map/multimap的简介 multimap与map的区别:《重点》 二:map/multimap对象的默认构造 三:map对象的拷贝构造与赋值 四:map排序方式 五:map的插入操作《重点》 在map中插入元素的四种方式: 1、通过pair的方式插入对象 2、通过pair的方式插入对象
阅读全文
摘要:一:仿函数functor介绍 二:自定义仿函数 三:greater简易实现 四:02--STL算法(函数对象和谓词)《后续》
阅读全文
摘要:一:set/multiset的简介 multiset与set的区别: 修改值时需注意: 二:set/multiset对象的默认构造 三:set对象的拷贝构造和赋值 四:Set集合的元素排序 五:set对象的插入 六:set对象的迭代相关函数 七:set大小 八:set的删除 九:set的查找 十:补
阅读全文
摘要:一:Array了解 注意: 二:array构造 三:array元素存取 四:array赋值操作 五:迭代相关函数 六:性能测试 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <stdio.h> #include <cstri
阅读全文
摘要:一:优先队列priority_queue简介 (一)和队列相比 同: 异: 补充:元素之间比较 (二)重点:同vector,deque,list,以及queue比较 二:优先队列priority_queue的构造 案例1:默认最大值优先 案例2:修改比较方式 三:优先队列常用操作 四:自定义比较结构
阅读全文
摘要:补充: 注意:list和forward_list都有自己的sort排序方法,所以排序时最好使用自带的sort方法,节省时间 一:List (一):List双向链表简介 list是一个双向链表容器,可高效地进行插入删除元素。 list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It
阅读全文
摘要:总括: 一:栈Stack (一)栈的简介 (二)栈的默认构造 (三)栈的出栈进栈操作push和pop《重点》 补充:top()返回栈头数据(但是数据不出栈),所以top和pop联用 (四)栈的拷贝构造及赋值 (五)数据遍历:stack和queue不提供迭代器,所以想要获取数据,必须依次取走数据 (六
阅读全文
摘要:一:Deque双端队列<头尾操作> 补充:deque在内存中的实际存在 二:deque的默认构造 三:deque的有参构造(同vector) 四:deque首尾的添加与删除《重点》 五:deque数据存取《重点》 六:deque数据迭代 七:deque的赋值 八:deque的大小 九:deque数据
阅读全文
摘要:一:迭代器原理 二:迭代器类别 (一)输入迭代器 (二)输出迭代器 (三)正向迭代器 (四)双向迭代器 (五)随机访问迭代器 注意:目前本系列教程所用到的容器,都支持双向迭代器或随机访问迭代器,下面将会详细介绍这两个类别的迭代器。 三:双向迭代器操作 四:其中list,set,multiset,ma
阅读全文
摘要:一:vector容器简介 二:vector对象的默认构造(无参构造) 三:vector对象的有参构造 vector(beg,end)使用: vector(n,elem)使用: vector(const vector &vec)使用: 四:vector的赋值(和带参构造相似) 五:vector的大小
阅读全文
摘要:开始学习侯捷老师的课程了~~ 一:六大组件关系 二:组件调用 补充1:前闭后开区间 默认是 .begin()找到第一个元素,泛型指针指向他 .end()找到的不是最后一个元素,而是最后一个元素的下一个元素。不允许*(c.end())会溢出 三:使用STL的好处 (一)STL是C++的一部分,因此不用
阅读全文

浙公网安备 33010602011771号