第十章关联容器重学C++之《 C++ PRIMER》

1综述

关联容器通过键存储和读取元素,而顺序容器通过元素在容器中的位置顺序存储和访问元素。

关联容器大部分行为与顺序容器相同,但是其独特之处在于支持键的使用。

关联容器类型:map(关联数组,元素通过键来读取),set(只有键),multimap(一个键对应多个值),multiset

容器元素根据键的次序排列。例如 map<string,string> n
那么键值对("abc","abc") 在("abd","abc") 的前面

键类型的唯一约束就是必须支持<操作符。

2pair类型

pair<T1,T2> p1;

pair<T1,T2> p1<v1,v2>;

p1.first,p1.second

make_pair(v1,v2)

3 map类型

map<k,v> var;

(1)map是pair类型的容器,基本单位是pair对象。

(2)添加元素。使用insert成员或者使用下标添加。

 使用下标(即键)访问不存在的元素,将导致在map容器中添加一个新的元素。

(3)查找元素

m.count(k) 返回m中k的出现次数

m.find(k)返回K索引的迭代器。

(4)删除元素

m.erase(k)

4   multimap 和multiset

(1)查找元素(以下函数适用于所有关联容器)

find 和count

m.lower_bound(k)返回迭代器,指向键不小于k的第一个元素。

m.upper_bound(k)返回迭代器,指向键大于K的第一个元素。

m.equal_range(k)返回一个迭代器的pair对象,first成员等于m.lower_bound(k),second成员等于m.upper_bound(k)

实际上是返回等于这个键的一个范围










原文地址:https://www.cnblogs.com/catkins/p/5270788.html