unoedered_map
时间: 2023-12-16 14:27:29 浏览: 70
unordered_map是C++ STL中的一个关联容器,它提供了一种将键映射到值的方法。与map不同,unordered_map使用哈希表来实现,因此它的查找和插入操作的平均时间复杂度为O(1)。unordered_map的模板定义如下:
```c++
template < class Key, class T, class Hash = hash<Key>, class Pred = equal_to<Key>, class Alloc = allocator<pair<const Key, T>> > class unordered_map;
```
其中,Key是键的类型,T是值的类型,Hash是哈希函数的类型,Pred是键相等比较函数的类型,Alloc是分配器的类型。unordered_map的迭代器与其他STL容器的迭代器类似,可以使用begin()和end()函数获取。
在GCC中,可以使用头文件<ext/hash_map>来使用hash_map,使用命名空间_GLIBCXX来访问其中的内容。而unordered_map则可以使用头文件<unordered_map>来使用,使用命名空间std来访问其中的内容。
下面是一个使用unordered_map的例子:
```c++
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
unordered_map<string, int> mymap;
mymap["apple"] = 1;
mymap["banana"] = 2;
mymap["orange"] = 3;
cout << "The value of apple is " << mymap["apple"] << endl;
cout << "The value of banana is " << mymap["banana"] << endl;
cout << "The value of orange is " << mymap["orange"] << endl;
return 0;
}
```
输出:
```
The value of apple is 1
The value of banana is 2
The value of orange is 3
```
阅读全文