一、介绍
在C++的map / multimap容器中,所有的元素均是pair类型(有关pair类型可以参考我之前写的 《C++的set / multiset容器》的3.2中有介绍到)。
每对pair的第一个元素被称为关键字key,第二个元素被称为值value。因此,map的元素也被称为键值对。
将元素插入map / multimap后,元素会根据关键字的排序规则自动排序。
二、数据结构
map / multimap容器均属于关联式容器,底层使用平衡二叉树 / 红黑树实现。
三、map与multimap的区别
map与multimap的区别在于是否可以出现重复的key。
| map | 不允许同一个map中出现重复key |
| multimap | 允许同一个map中出现重复ke |
由于二者之间除此以外并无差别,因此下文例子均基于map容器的使用示例。
四、map的使用
map在使用前,请包含头文件#include<map>。此外,为了便于观察示例结果,以下示例均使用自己编写的printMap函数打印map所有键值对信息。
//打印map所有键值对
void printMap(map<int, char> &m) {
//判空
if (m.empty()) {
cout << "The map is empty now." << endl;
return;
}
for (map<int, char>::iterator it = m.begin(); it != m.end(); it++) {
cout << "<" << it->first << ", " << it->second << ">" << endl;
}
}
4.1 map初始化
map的初始化可以使用构造函数与=运算符实现:
| 声明 | 解释 |
| map< |


3935

被折叠的 条评论
为什么被折叠?



