C++primer笔记之关联容器】的更多相关文章

在这一章中,有以下的几点收获: 1.pair类型的使用相当频繁,如果需要定义多个相同的pair类型对象,可考虑利用typedef简化其声明: typedef pair<string, string> A;这样,在后面的使用中就可以直接用A来代替前面繁琐的书写. 2.三种方法创建pair对象: (1)第一种方法:使用函数make_pair() pair<string, string> spair; string first, last; while(cin >> firs…
标准库提供8个关联容器 按关键字有序保存有(红黑树实现) set map multset 关键字可重复出现的set multimap  关键字可重复出现的map 无序保存 哈希实现 unorderred_map unorderred_set unorderred_multimap unorderred_multiset map是一个个pair类型组成 map<int, int>mp; for(auto i : mp){ printf("%d %d\n", i.first,…
条款19:理解相等(equality)和等价(equivalence)的区别 相等的概念是基于 operator== 的,如果 operator== 的实现不正确,会导致并不实际相等等价关系是以"在已排好序的区间中对象值的相对顺序"为基础的,关联容器默认是以 operator< 为基础此时 w1 和 w2 若相等,则有 !(w1 < w2) && !(w2 < w1),或者使用函数对象 !container.comp(x, y) &&…
最近又重新拾起C++primer,发现每一次看都会有不同的体验,但每一次看后因为不常用,忘记得很快,所以记笔记是很关键的一环,咋一看是浪费时间,实际上是节省了很多时间.下面就把这一节的内容做一个简单的提炼和小节: 1.IO库类型不支持复制或赋值,因此,不能创建存放IO类型对象的容器. 2.在指定容器元素为容器类型时,必须如下使用空格: vector< vector<string> > lines; //OK! vector< vector<string>>…
map set multimap (关键字可重复出现) multiset 无序 unordered_map  (用哈希函数组织的map) unordered_set unordered_multimap unordered_multiset pair 类型: utility pair<string, string> a; 插入元素: set.insert(); map.insert({a, b}); map.insert(make_pair(a,b)); insert(pair<stri…
在multimap或multiset中查找元素 第二种方法解释: #include <iostream> #include <utility> #include <iterator> #include <functional> #include <algorithm> #include <map> #include <set> #include <string> using namespace std; int…
第10章 关联容器 引: map set multimap multiset 1.pair类型 pair<string, int> anon anon.first, anon.second anon = make_pair(first, last) 2.关联容器 3.map类型 map<string, int> word_count; map<K, V>::key_type map<K, V>::mapped_type map<K, V>::va…
关联容器 与顺序容器不同,关联容器的元素是按keyword来訪问和保存的.而顺序容器中的元素是按他们在容器中的位置来顺序保存的. 关联容器最常见的是map.set.multimap.multiset map的元素以键-值[key-value]对的形式组织:键用作元素在map中的索引,而值则表示所存储和读取的数据. set仅包括一个键.并有效的支持关于某个键是否存在的查询. pair类型 首先介绍下pair,pair定义在utility头文件里,一个pair保存两个数据成员,类似容器,pair是一…
1.关联容器支持高效的关键字查找和访问,标准库提供8个关联容器. 2.如果一个类型定义了“行为正常”的 < 运算符,则它可以用作关键字类型. 3.为了使用自己定义的类型,在定义multiset时必须提供两个类型:自定义类类型以及比较操作类型(函数指针). class test { public: test(int i) { m_id = i; } int m_id; }; bool compare_test(const test& t1, const test& t2) { retu…
STL实践与分析 --引言.pair类型.关联容器 引言:     关联容器与顺序容器的本质差别在于:关联容器通过键[key]来存储和读取元素,而顺序容器则通过元素在容器中的位置顺序的存取元素. map的元素以键-值[key-value]对的形式组织:键用作元素在map中的索引,而值则表示所存储和读取的数据. set仅包括一个键,并有效的支持关于某个键是否存在的查询. 关联容器类型 map 关联数组:元素通过键来存取 Set 大小可变的集合,支持通过键来实现的高速读取 multimap 支持同一…