c++中unordered_set的用法是什么

   2024-11-08 6360
核心提示:unordered_set是C++标准库中的一种无序集合容器,用于存储唯一的元素。它基于哈希表的数据结构实现,提供了快速的元素查找、插入

unordered_set是C++标准库中的一种无序集合容器,用于存储唯一的元素。它基于哈希表的数据结构实现,提供了快速的元素查找、插入和删除操作。

unordered_set的用法如下:

包含头文件:需要包含<unordered_set>头文件。

定义容器:使用std::unordered_set模板定义unordered_set对象,可以指定元素类型和哈希函数。

#include <unordered_set>std::unordered_set<int> mySet; // 定义一个存储int类型元素的unordered_set
插入元素:使用insert函数插入元素。
mySet.insert(10); // 插入元素10mySet.insert(20); // 插入元素20
删除元素:使用erase函数删除元素。
mySet.erase(10); // 删除元素10
查找元素:使用find函数查找元素,返回一个指向元素的迭代器。如果元素存在,迭代器指向该元素;否则,迭代器指向unordered_set的end位置。
std::unordered_set<int>::iterator it = mySet.find(20);if (it != mySet.end()) {    // 元素存在} else {    // 元素不存在}
遍历元素:使用迭代器遍历unordered_set中的所有元素。
for (std::unordered_set<int>::iterator it = mySet.begin(); it != mySet.end(); ++it) {    // 处理*it}

unordered_set还提供了其他一些常用的成员函数,例如:empty用于检查unordered_set是否为空,size返回unordered_set中元素的个数,clear清空unordered_set中的所有元素等。

需要注意的是,unordered_set中的元素是无序的,插入和查找操作的平均时间复杂度为常数O(1),但最坏情况下可能达到线性O(n)。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号