我是靠谱客的博主 美好冰淇淋,最近开发中收集的这篇文章主要介绍C++ unordered_set,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

1.定义

2.基本的函数

2.1.unordered_set构造

2.2.添加新的元素(注意无法插入相同元素)

2.3.查找元素

2.4.查找桶接口

2.5.观察器

2.6.清除元素

2.7.其他函数

1.定义
unordered_set本质是使用hash散列的方式存储数据,是一种使用hash值作为key的容器,所以当有频繁的搜索、插入和移除拥有常数时间。unordered_set存储原理是声明一个有n个桶的数据结构,计算加入到unordered_set的新的值hash,然后计算hash%n后的值x,将新的值加入到桶x中。当桶x中已经有了元素,就直接链接在后边。当数据结构中的元素满足一定数量时我们要扩充桶的数量,并重新构建桶结构。

2.基本的函数
2.1.unordered_set构造
std::unordered_setstd::string c:初始化容器
std::unordered_setstd::string c{ “aaa”, “bbb”, “ccc” }:初始化容器,并将"aaa", “bbb”, “ccc"加入到容器中
std::unordered_setstd::string c{ 16 }:初始化容器,并设置16个桶
2.2.添加新的元素(注意无法插入相同元素)
c.insert(“dddd”):向容器添加元素”dddd”
a.insert({ “aaa”,“bbbb”,“cccc” }):向容器添加元素"aaa",“bbbb”,“cccc”
a.insert(b.begin(), b.end()):b是一个存储着和a相同类型元素的向量,可将b中所有元素添加到a中
2.3.查找元素
a.find(“eeee”):查找元素"eeee",返回结果为a.end()则表明没有找到,否则返回所对应元素
a.count(“eeee”):查找元素"eeee"在a中有几个
2.4.查找桶接口
a.bucket_count():返回数据结构中桶的数量
a.bucket_size(i):返回桶i中的大小
a.bucket(“eeee"):返回元素"eeee"在哪个桶里
2.5.观察器
a.hash_function()(“aaa”):返回"aaa"所对应的hash值
a.key_eq()(“aaa”,“aaaa”) :当元素相同时返回true,否则返回false
2.6.清除元素
a.clear():清除a中所有元素
a.erase(“aaa”):清除元素"aaa"
2.7.其他函数
a.size():返回a中总的元素个数
a.max_size():返回a中最大容纳元素
a.empty():判断a中是否为空
————————————————
版权声明:本文为CSDN博主「逃课的小学生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhang14916/article/details/100859487

最后

以上就是美好冰淇淋为你收集整理的C++ unordered_set的全部内容,希望文章能够帮你解决C++ unordered_set所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部