Fork me on GitHub
摘要: 1. Map & multimap 的拷贝构造与赋值 map(const map &mp); //拷贝构造函数 map& operator=(const map &mp); //重载等号操作符 map.swap(mp); //交换两个集合容器 拷贝构造代码示例: 1 #include <iostre 阅读全文
posted @ 2020-06-15 01:38 索智源 阅读(2160) 评论(0) 推荐(0) 编辑
摘要: 1. Map & multimap 的排序与遍历 map<T1,T2,less<T1> > mapA; //该容器是按键的升序方式排列元素。如果未指定less<T1> 函数对象,默认采用less<T1>函数对象。 map<T1,T2,greater<T1>> mapB; //该容器是按键的降序方式排 阅读全文
posted @ 2020-06-14 23:05 索智源 阅读(1653) 评论(0) 推荐(0) 编辑
摘要: 1. 容器(Map & multimap)的插入 map.insert(...); //往容器插入元素,返回pair<iterator,bool> map中插入元素的四种方式: 1 #include <iostream> 2 #include <map> 3 4 using namespace st 阅读全文
posted @ 2020-06-14 21:51 索智源 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 1. map/multimap 的简介 map 是标准的关联式容器,一个 map 里存储的元素是一个键值对序列,叫做 (key,value) 键值对。它提供基于 key 快速检索数据的能力。 map 中 key 值是唯一的。集合中的元素按一定的顺序排列。元素插入过程是按排序规则插入,所以不能指定插入 阅读全文
posted @ 2020-06-14 21:00 索智源 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 1. set.find(elem); //查找elem元素,返回指向elem元素的迭代器。 1 #include <iostream> 2 #include <set> 3 4 using namespace std; 5 6 int main() 7 { 8 set<int> setInt; 9 阅读全文
posted @ 2020-06-10 02:03 索智源 阅读(322) 评论(0) 推荐(0) 编辑
摘要: set.clear(); //清除所有元素 set.erase(pos); //删除pos迭代器所指的元素,返回下一个元素的迭代器。 set.erase(beg,end); //删除区间[beg,end)的所有元素,返回下一个元素的迭代器。 set.erase(elem); //删除容器中值为ele 阅读全文
posted @ 2020-06-08 03:18 索智源 阅读(1479) 评论(0) 推荐(2) 编辑
摘要: 1. set.size(); //返回容器中元素的数目 2. set.empty();//判断容器是否为空 empty() 是由一下代码实现的,可以发现,当长度为0时返回 false,以此判断容器为空 1 _NODISCARD bool empty() const noexcept 2 { 3 re 阅读全文
posted @ 2020-06-08 01:01 索智源 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 1.set.insert(elem); //在容器中插入元素。 2.set.begin(); //返回容器中第一个数据的迭代器。 3.set.end(); //返回容器中最后一个数据之后的迭代器。 4.set.rbegin(); //返回容器中倒数第一个元素的迭代器。 5.set.rend(); / 阅读全文
posted @ 2020-06-07 23:04 索智源 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 1. 使用 insert 插入时的返回值: 将一个元素插入 (insert) 到 set 或 multiset 中时,如果插入失败返回的类型是一个 pair 的自定类型,insert 源码如下: insert 的重载方式目前有8种,本篇说明的是 1 template <bool _Multi2 = 阅读全文
posted @ 2020-06-07 02:20 索智源 阅读(1112) 评论(0) 推荐(0) 编辑
摘要: Set/multiset 中元素的存储数据总是会按照从大到小或者从小到大排列,这个是怎么实现的?这就要说 “仿函数” 这个概念了。 仿函数概念 1. 尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对象。 2. functor,翻译成函数对象,伪函数,它是 阅读全文
posted @ 2020-05-24 23:08 索智源 阅读(421) 评论(0) 推荐(0) 编辑