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表可能出现冲突,所以查找效率可能会降低。