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

 

目录
相关文章
|
4月前
|
存储 C++
【C++】map/multimap/set/multiset的经典oj例题 [ 盘点&全面解析 ] (28)
【C++】map/multimap/set/multiset的经典oj例题 [ 盘点&全面解析 ] (28)
|
6月前
|
存储 C++ 容器
map、set、multimap和multiset的使用【STL】
map、set、multimap和multiset的使用【STL】
17 0
|
3月前
|
机器学习/深度学习 C++ 容器
STL_set/multiset
STL_set/multiset
24 1
|
1月前
|
存储 C++ 容器
set容器一自定义数据类型指定排序规则讲解
set容器一自定义数据类型指定排序规则讲解
18 1
|
1月前
|
存储 C++ 容器
set容器-内置类型指定排序规则讲解
set容器-内置类型指定排序规则讲解
16 0
|
1月前
|
C++ 容器
set容器-构造和赋值讲解
set容器-构造和赋值讲解
17 0
|
4月前
|
存储 自然语言处理 C++
【C++】树型结构关联式容器:map/multimap/set/multisetの使用指南(27)
【C++】树型结构关联式容器:map/multimap/set/multisetの使用指南(27)
|
5月前
|
API C++ 容器
79 C++ - set/multiset容器
79 C++ - set/multiset容器
34 0
|
9月前
|
存储 自然语言处理 C语言
map、multimap、set、multiset讲解
本篇将学习map、multimap、set、multiset。
61 0
|
10月前
|
编译器 容器
STL-set/multiset集合容器
STL-set/multiset集合容器
70 0