C++11无序关联容器有哪几种
1、unordered_map
C++11标准引入的unordered_map,是一种无序的关联容器,它由键值对组成,其中键值对的键是唯一的,可以通过键快速查找到值,支持关联式容器的基本操作,如插入、删除、查找等操作。unordered_map支持模板类型,可以使用不同的数据类型作为键值对的键和值。unordered_map是一种hash表,使用hash函数对键进行映射,然后根据映射结果找到键值对,因此查找、插入、删除操作的时间复杂度都是O(1),但是由于hash表可能出现冲突,所以查找效率可能会降低。
2、unordered_multimap
unordered_multimap是unordered_map的一种变体,它也是一种无序的关联容器,它由键值对组成,其中键值对的键可以重复,可以通过键快速查找到值,支持关联式容器的基本操作,如插入、删除、查找等操作。unordered_multimap支持模板类型,可以使用不同的数据类型作为键值对的键和值。unordered_multimap也是一种hash表,使用hash函数对键进行映射,然后根据映射结果找到键值对,因此查找、插入、删除操作的时间复杂度都是O(1),但是由于hash表可能出现冲突,所以查找效率可能会降低。
3、unordered_set
unordered_set是C++11标准引入的一种无序关联容器,它由一组唯一的元素组成,支持关联式容器的基本操作,如插入、删除、查找等操作。unordered_set支持模板类型,可以使用不同的数据类型作为元素。unordered_set也是一种hash表,使用hash函数对元素进行映射,然后根据映射结果找到元素,因此查找、插入、删除操作的时间复杂度都是O(1),但是由于hash表可能出现冲突,所以查找效率可能会降低。
4、unordered_multiset
unordered_multiset是unordered_set的一种变体,它也是一种无序关联容器,它由一组元素组成,其中元素可以重复,支持关联式容器的基本操作,如插入、删除、查找等操作。unordered_multiset支持模板类型,可以使用不同的数据类型作为元素。unordered_multiset也是一种hash表,使用hash函数对元素进行映射,然后根据映射结果找到元素,因此查找、插入、删除操作的时间复杂度都是O(1),但是由于hash表可能出现冲突,所以查找效率可能会降低。
猜您想看
-
架构类型MVC、RPC、SOA的区别是什么
MVC(Mod...
2023年05月25日 -
怎么用ASP.NET做一个跨平台的文档扫描应用
ASP.NET...
2023年07月23日 -
怎么用Spring-boot-starter标准改造项目内的RocketMQ客户端组件
一、介绍Spr...
2023年05月26日 -
如何将域名设置为服务器IP地址?
如何将域名设置...
2023年04月15日 -
SEO中如何拓展长尾关键词
什么是长尾关键...
2023年07月22日 -
GPT在智能导航中的应用
GPT在智能导...
2023年05月15日