unordered_map、unordered_set
时间: 2023-11-07 20:05:57 浏览: 114
unordered_map和unordered_set都是C++ STL中的关联容器,它们的底层实现都是哈希表。其中,unordered_map用于存储键值对,而unordered_set则只存储键。
使用哈希表的优点是可以在O(1)的时间复杂度内进行插入、查找和删除操作,但是在最坏情况下,哈希表的时间复杂度会退化到O(n)。
unordered_map和unordered_set的使用方法与其他STL容器类似,可以使用迭代器进行遍历,也可以使用auto关键字进行类型推导。
下面是一个使用unordered_map的例子:
```c++
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
unordered_map<string, int> umap;
umap["apple"] = 1;
umap["banana"] = 2;
umap["orange"] = 3;
for (auto it = umap.begin(); it != umap.end(); it++) {
cout << it->first << ": " << it->second << endl;
}
return 0;
}
```
输出结果为:
```
orange: 3
banana: 2
apple: 1
```
相关问题
unordered_map 和 unordered_set
unordered_map和unordered_set是C++ STL库中的两个容器,它们都是基于哈希表实现的。
unordered_map是一个关联容器,它将键值对存储在哈希表中,可以快速地查找和访问元素。它的键和值可以是任何类型,但是键必须是唯一的。与map相比,unordered_map的插入、删除和查找操作都更快,但是它的元素是无序的。
unordered_set是一个集合容器,它存储唯一的元素,并且元素是无序的。它的元素可以是任何类型,但是必须是唯一的。与set相比,unordered_set的插入、删除和查找操作都更快,但是它的元素是无序的。
unordered_map和unordered_set
unordered_map和unordered_set是C++ STL库中的两个容器,它们都是基于哈希表实现的。
unordered_map是一个关联容器,它将键值对存储在哈希表中,可以快速地查找和访问元素。它的键和值可以是任何类型,但是键必须是唯一的。与map相比,unordered_map的插入、删除和查找操作都更快,但是它的元素是无序的。
unordered_set是一个集合容器,它存储唯一的元素,并且元素是无序的。它的元素可以是任何类型,但是必须是唯一的。与set相比,unordered_set的插入、删除和查找操作都更快,但是它的元素是无序的。
阅读全文