-
set
(集合):set
是一个有序的容器,其中的元素按照特定的排序规则进行存储。每个元素在集合中是唯一的,不会出现重复的元素。set
使用红黑树实现,因此插入、删除和查找操作的时间复杂度为 O(log n)。 -
list
(链表):list
是一个双向链表容器,它可以高效地在任意位置进行插入和删除操作。由于链表的特性,随机访问的效率较低,但插入和删除操作的效率较高。list
不提供排序功能。 -
vector
(向量):vector
是一个动态数组容器,它可以根据需要自动扩展和收缩大小。vector
支持随机访问,即可以通过下标直接访问元素。在尾部进行插入和删除操作的效率较高,而在中间或开头进行插入和删除操作的效率较低。vector
的内存是连续分配的,因此适用于需要高效随机访问的情况。 -
map
(映射):map
是一个有序的键值对容器,其中的元素按照键的排序规则进行存储。每个键在map
中是唯一的,且与每个键关联的值是唯一的。map
使用红黑树实现,因此插入、删除和查找操作的时间复杂度为 O(log n)。 -
unordered_map
(无序映射):unordered_map
是一个无序的键值对容器,其中的元素根据键的哈希值进行存储,而不是按照特定的排序规则。每个键在unordered_map
中是唯一的,且与每个键关联的值是唯一的。unordered_map
使用哈希表实现,因此插入、删除和查找操作的平均时间复杂度为 O(1)。 -
unordered_set
(无序集合):unordered_set
是一个无序的容器,其中的元素根据值的哈希值进行存储,而不是按照特定的排序规则。每个值在unordered_set
中是唯一的。unordered_set
使用哈希表实现,因此插入、删除和查找操作的平均时间复杂度为 O(1)。
c++容器
最新推荐文章于 2024-07-02 11:11:08 发布