C++中用于哈希表的STL函数有哪些

2025-01-09 03:42:52   小编

C++中用于哈希表的STL函数有哪些

在C++的标准模板库(STL)中,哈希表相关的功能主要由unordered_mapunordered_set容器提供。下面来介绍一些常用的与哈希表相关的STL函数。

1. 构造函数

unordered_mapunordered_set的构造函数可以用于创建空的哈希表或者通过给定的范围进行初始化。例如:

#include <unordered_map>
#include <unordered_set>
std::unordered_map<int, std::string> myMap;
std::unordered_set<int> mySet = {1, 2, 3};

2. 插入元素

  • insert函数用于向哈希表中插入元素。对于unordered_map,插入的是键值对;对于unordered_set,插入的是单个元素。示例如下:
myMap.insert(std::make_pair(1, "one"));
mySet.insert(4);

3. 查找元素

  • find函数用于在哈希表中查找指定元素。如果找到,返回指向该元素的迭代器;否则,返回end迭代器。例如:
auto it = myMap.find(1);
if (it!= myMap.end()) {
    std::cout << it->second << std::endl;
}

4. 删除元素

  • erase函数用于从哈希表中删除指定元素。可以通过键或者迭代器来指定要删除的元素。例如:
myMap.erase(1);

5. 遍历哈希表

可以使用迭代器来遍历哈希表中的元素。例如:

for (auto it = mySet.begin(); it!= mySet.end(); ++it) {
    std::cout << *it << " ";
}

6. 大小和空判断

  • size函数返回哈希表中元素的个数。
  • empty函数判断哈希表是否为空。示例如下:
std::cout << "Size of mySet: " << mySet.size() << std::endl;
if (myMap.empty()) {
    std::cout << "myMap is empty." << std::endl;
}

C++ STL中的unordered_mapunordered_set提供了丰富的函数来操作哈希表,能够方便地实现各种数据存储和查找需求。熟练掌握这些函数对于提高C++编程效率非常有帮助。

TAGS: C++ C++ STL 哈希表 STL函数

欢迎使用万千站长工具!

Welcome to www.zzTool.com