哈希结构(set,map)

1.set,multiset,unordered_set

集合 底层实现 是否有序 数值是否可以重复 能否更改数值 查询效率 增删效率
set 红黑树 有序 O(logn) O(logn)
multiset 红黑树 有序 O(logn) O(logn)
unordered_set 哈希表 无序 O(1) O(1)
映射 底层实现 是否有序 数值是否可以重复 能否更改数值 查询效率 增删效率
map 红黑树 key有序 key否 key否 O(logn) O(logn)
multimap 红黑树 key有序 key是 key否 O(logn) O(logn)
unordered_map 哈希表 key无序 key否 key否 O(1) O(1)

主要用途:判断某个数是否出现过

unordered_set的常用代码

unordered_set<int> res;
if(res.find(candyType[i])!=res.end())  //判断是否出现过
unordered_set<int> res;
res.insert(1);//插入
res.erase(1);//删除
for ( auto it = res.begin(); it != res.end(); it++ ) //遍历

猜你喜欢

转载自blog.csdn.net/qq_47997583/article/details/120801392