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表可能出现冲突,所以查找效率可能会降低。
猜您想看
-
k8s nodeSelector和affinity调度亲和性的实现方法
k8s是一个开...
2023年07月23日 -
电磁兼容干扰原理及PCB EMC设计准则是什么
电磁兼容(El...
2023年07月22日 -
了解 Chrome 浏览器的多标签页功能,提升您的浏览效率。
使用Chrom...
2023年04月15日 -
Java虚拟机对锁优化方法是什么
1.什么是锁优...
2023年05月26日 -
如何在宝塔面板中通过Nginx配置HTTPS?
利用宝塔...
2023年04月16日 -
Python lambda的相关题目有哪些
Python中...
2023年07月22日