unordered_set库函数
时间: 2023-11-02 19:04:13 浏览: 47
unordered_set是C++标准库中的一个容器类,它是一个集合,用于存储唯一的元素,这些元素按照哈希函数进行组织。引用提供了unordered_set的模板定义,其中包括了键类型、哈希函数、键相等性比较和分配器等参数。
引用展示了如何使用unordered_set的范围迭代器来访问存储桶中的元素,通过调用unordered_set::begin和unordered_set::end方法。
引用给出了unordered_set的构造函数的例子,包括了空构造函数、初始化列表构造函数、复制构造函数、移动构造函数和范围构造函数的使用示例。
相关问题
unordered_set中的库函数
unordered_set是C++标准库中的容器类,用于存储唯一的元素集合,这些元素没有特定的顺序。unordered_set使用哈希表来实现元素的存储和查找,因此插入、删除和查找操作的平均时间复杂度为O(1)。要使用unordered_set,你需要包含头文件<unordered_set>。
下面是一些基本的使用示例:
```cpp
#include <iostream>
#include <unordered_set>
int main() {
// 创建一个unordered_set对象
std::unordered_set<int> mySet;
// 插入元素
mySet.insert(3);
mySet.insert(1);
mySet.insert(5);
// 遍历集合
for (const auto& element : mySet) {
std::cout << element << " ";
}
std::cout << std::endl;
// 查找元素
auto it = mySet.find(1);
if (it != mySet.end()) {
std::cout << "Element found: " << *it << std::endl;
} else {
std::cout << "Element not found" << std::endl;
}
// 删除元素
mySet.erase(3);
// 遍历集合
for (const auto& element : mySet) {
std::cout << element << " ";
}
std::cout << std::endl;
// 判断集合是否为空
if (mySet.empty()) {
std::cout << "Set is empty" << std::endl;
} else {
std::cout << "Set is not empty" << std::endl;
}
// 获取集合大小
std::cout << "Set size: " << mySet.size() << std::endl;
return 0;
}
```
这是一个使用unordered_set的简单示例,你可以根据自己的需求进行插入、删除、查找等操作。希望对你有帮助!如果你有任何更多的问题,请随时问我。
unordered_map库函数
unordered_map是C++标准库中提供的一个容器类,用于实现键值对的存储和查找。它使用哈希表作为底层数据结构,因此在查找时具有较高的效率。
下面是一些常用的unordered_map的库函数:
1. 构造函数:
- unordered_map():默认构造函数,创建一个空的unordered_map。
- unordered_map(size_type bucket_count):创建一个具有指定bucket数量的unordered_map。
- unordered_map(size_type bucket_count, const hasher& hash):创建一个具有指定bucket数量和哈希函数的unordered_map。
- unordered_map(size_type bucket_count, const hasher& hash, const key_equal& equal):创建一个具有指定bucket数量、哈希函数和键比较函数的unordered_map。
2. 插入和访问元素:
- insert(const value_type& val):将一个键值对插入到unordered_map中。
- insert(InputIterator first, InputIterator last):将指定范围内的键值对插入到unordered_map中。
- erase(const key_type& key):删除指定键对应的元素。
- find(const key_type& key):返回指定键对应的迭代器,如果不存在则返回end()。
- operator[](const key_type& key):返回与指定键关联的值,如果不存在则会插入一个新的键值对。
3. 大小和容量:
- size():返回unordered_map中键值对的数量。
- empty():判断unordered_map是否为空。
- max_size():返回unordered_map可以容纳的最大键值对数量。
4. 迭代器:
- begin():返回指向unordered_map第一个元素的迭代器。
- end():返回指向unordered_map最后一个元素之后位置的迭代器。
以上仅列举了一部分常用的unordered_map库函数,更多函数和用法可以参考C++标准库的相关文档。