第一章第四节 关联容器
map容器
提供一对一映射功能的容器,内部采用红黑树实现。定义于<map>
。
构造
1 | /* 默认初始化:定义一个空的map容器 */ |
插入
1 | ismap.insert(pair<int, string>(2, "two")); |
查找
1 | /* 返回0代表2不存在,返回1代表2存在 */ |
删除
1 | ismap.erase(it); |
multimap:一个键可以多次出现,对应的查找操作也有所不同,定义于<map>
1 | /* equal_range返回一个pair<multimap<int, int>::iterator, multimap<int, int>::iterator>对象 |
unorderd_map:使用哈希表实现,元素无序。不利于查找,利于插入删除。操作与map相同。定义于<unorderd_map>
。
set容器
提供集合功能,内部采用红黑树实现。定义于<set>
。
1 | /* 默认初始化:定义一个空的map容器 */ |
插入
1 | /* 当num不存在于iset时,可插入 */ |
查找
1 | /* 返回0代表2不存在,返回1代表2存在 */ |
删除
1 | iset.erase(it); |
multiset:一个元素可以出现多次,对应的查找操作也有所不同,定义于<set>
1 | /* equal_range返回一个pair<multiset<int>::iterator, multiset<int>::iterator>对象 |
unorderd_set:使用哈希表实现,元素无序。不利于查找,利于插入删除。操作与set相同。定义于<unorderd_set>
。