在c++11中出现了一些有用的容器,其中包括了两(三)个非常实用的容器:unordered_map & unordered_set / unordered_multiset
其实现的操作与map&set/multiset 差不多,只是我们知道map和set实现的是 O(logn)进行实现一个映射,其中内置的实现是红黑树,而unordered_map & unordered_multiset 实现 O(1) 查询。
头文件即定义
C++11编译器:
#include<unordered_set>
#include<unordered_map>
using namespace std;
unordered_set<int> st1;
unordered_multiset<int> st2;
unordered_map<int,int> mp;
非C++11编译器:
#include<tr1/unordered_set>
#include<tr1/unordered_map>
using namespace std;
using namespace tr1;
unordered_set<int> st1;
unordered_multiset<int> st2;
unordered_map<int,int> mp;
unordered_map/unordered_set常用常用
https://zh.cppreference.com/w/cpp/container/unordered_map
迭代器 | |
---|---|
begin(cbegin) | 返回指向容器第一个元素的迭代器 |
end(cend) | 返回指向容器尾端的迭代器 |
容量 | |
---|---|
empty | 检查容器是否为空 |
size | 返回容纳的元素数 |
修改器 | |
---|---|
clear | 清除内容 |
insert | 插入元素 |
erase | 擦除元素 |
swap | 交换元素 |
查找 | |
---|---|
operator[] | 访问或插入指定的元素 |
find | 寻找带有特定键的元素 |