set容器-set和multiset区讲解

简介: set容器-set和multiset区讲解

set 和 multiset 都是 C++ 标准模板库(STL)中的关联容器,它们存储的元素都是唯一的,并且默认按升序排列。然而,set 和 multiset 之间存在一个关键的区别:set 容器不允许存储重复的元素,而 multiset 容器则允许。

 

set 容器

set 容器通过红黑树(一种自平衡的二叉搜索树)来实现其特性。由于红黑树的性质,set 中的元素始终保持有序,且插入、删除和查找操作的时间复杂度都是对数级别的。

 

set 的基本使用

image.png

image.png

set 的特点

唯一性:set 中的元素是唯一的,即不会有重复元素。

有序性:set 中的元素默认按升序排列。

自动排序:当向 set 插入元素时,它会自动调整元素的顺序。

高效操作:set 提供了对数时间复杂度的插入、删除和查找操作。

multiset 容器

multiset 与 set 非常相似,但允许存储重复的元素。它同样使用红黑树来维护元素的排序和唯一性(这里的“唯一性”指的是单个元素位置的唯一性,而不是元素值的唯一性)。

 

multiset 的基本使用

image.png

image.png

 

目录
打赏
0
0
0
0
6
分享
相关文章
set、map、multiset、multimap的介绍及使用以及区别,注意事项
set是按照一定次序存储元素的容器,使用set的迭代器遍历set中的元素,可以得到有序序列。set当中存储元素的value都是唯一的,不可以重复,因此可以使用set进行去重。set默认是升序的,但是其内部默认不是按照大于比较,而是按照小于比较。set中的元素不能被修改,因为set在底层是用二叉搜索树来实现的,若是对二叉搜索树当中某个结点的值进行了修改,那么这棵树将不再是二叉搜索树。
81 0
【c++丨STL】set/multiset的使用
本文深入解析了STL中的`set`和`multiset`容器,二者均为关联式容器,底层基于红黑树实现。`set`支持唯一性元素存储并自动排序,适用于高效查找场景;`multiset`允许重复元素。两者均具备O(logN)的插入、删除与查找复杂度。文章详细介绍了构造函数、迭代器、容量接口、增删操作(如`insert`、`erase`)、查找统计(如`find`、`count`)及`multiset`特有的区间操作(如`lower_bound`、`upper_bound`、`equal_range`)。最后预告了`map`容器的学习,其作为键值对存储的关联式容器,同样基于红黑树,具有高效操作特性。
171 3
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
251 3
C++一分钟之-map与set容器详解
【6月更文挑战第21天】C++ STL的`map`和`set`是基于红黑树的关联容器,提供有序存储和高效查找。`map`存储键值对,键唯一,值可重复;`set`仅存储唯一键。两者操作时间复杂度为O(log n)。常见问题包括键的唯一性和迭代器稳定性。自定义比较函数可用于定制排序规则,内存管理需注意适时释放。理解和善用这些工具能提升代码效率。
139 3
【C++航海王:追寻罗杰的编程之路】set|map|multiset|multimap简单介绍
【C++航海王:追寻罗杰的编程之路】set|map|multiset|multimap简单介绍
96 0
【C++航海王:追寻罗杰的编程之路】set|map|multiset|multimap简单介绍
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别(下)
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别
92 1
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别(中)
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别
94 1
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别(上)
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别
124 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问