介绍一下map,unordered_map
时间: 2023-11-24 21:52:20 浏览: 138
map和unordered_map都是C++ STL中的关联容器,它们都可以用来存储键值对。其中,map底层使用红黑树实现,可以保证元素有序,而unordered_map底层使用哈希表实现,可以实现快速查找,但元素无序。以下是它们的一些特点和用法:
1. map的特点:
- 元素有序,按照键值从小到大排序
- 不允许重复的键值
- 支持[]操作符,可以像数组一样通过下标访问元素
- 插入元素时会自动排序
2. unordered_map的特点:
- 元素无序,插入顺序不确定
- 不允许重复的键值
- 支持[]操作符,可以像数组一样通过下标访问元素
- 插入元素时不会自动排序,但查找速度更快
以下是它们的用法示例:
```c++
#include <iostream>
#include <map>
#include <unordered_map>
using namespace std;
int main() {
// map用法示例
map<int, string> m;
m[1] = "apple";
m[2] = "banana";
m[3] = "orange";
for (auto it = m.begin(); it != m.end(); it++) {
cout << it->first << ": " << it->second << endl;
}
// unordered_map用法示例
unordered_map<int, string> um;
um[1] = "apple";
um[2] = "banana";
um[3] = "orange";
for (auto it = um.begin(); it != um.end(); it++) {
cout << it->first << ": " << it->second << endl;
}
return 0;
}
```
阅读全文