C++异常(2)
完整解释:
在C++标准模板库(STL)中,set是一种关联容器,用于存储唯一元素(本身是 key),并自动按升序排序。它基于红黑树(一种自平衡二叉搜索树)实现,提供了高效的查找、插入和删除操作。set常用于需要快速访问和唯一性保证的场景,如去重、排序或作为字典键
set 通俗理解:
基于红黑树实现的一种容器,具有自动排序(升序)+不重复的特点
multiset 通俗理解:
基于红黑树实现的一种容器,具有自动排序(升序)特点,但 multiset 的节点允许键值重复
【二】特点详解
(1)自动排序
自动排序简而言之就是当你存入数据到 set 容器时,它会自动把它插入到合适的位置,从而实现自动排序,感觉就像《搜索二叉树+中序遍历》例如:
插入(1,、9、7、6),set 容器里面存储(1、6、7、9)
(2)唯一元素
唯一性体现在数据的独一无二,例如:
插入(1、2、3、3、3、7、7、6),set 容器里面存储(1、2、3、6、7)
(3)高效操作
查找 插入 删除:我们可以根据《搜索二叉树》理解,每次折半,那么时间复杂度可以保证在O(logn),这些高效性源于红黑树的平衡特性!
(4)不支持随机访问
它的结构不是像数组那样的下标访问,元素的位置由树结构决定
(5)迭代器支持
支持正向和反向两种迭代器(下文有例举!)
【三】接口学习
(1)构造
set 比较常使用的是默认构造:set + 数据类型 + 变量
————————————————
版权声明:本文为CSDN博主「雾非雾の迷惘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Dovis5884/article/details/149348847
完整解释:
在C++标准模板库(STL)中,set是一种关联容器,用于存储唯一元素(本身是 key),并自动按升序排序。它基于红黑树(一种自平衡二叉搜索树)实现,提供了高效的查找、插入和删除操作。set常用于需要快速访问和唯一性保证的场景,如去重、排序或作为字典键
set 通俗理解:
基于红黑树实现的一种容器,具有自动排序(升序)+不重复的特点
multiset 通俗理解:
基于红黑树实现的一种容器,具有自动排序(升序)特点,但 multiset 的节点允许键值重复
【二】特点详解
(1)自动排序
自动排序简而言之就是当你存入数据到 set 容器时,它会自动把它插入到合适的位置,从而实现自动排序,感觉就像《搜索二叉树+中序遍历》例如:
插入(1,、9、7、6),set 容器里面存储(1、6、7、9)
(2)唯一元素
唯一性体现在数据的独一无二,例如:
插入(1、2、3、3、3、7、7、6),set 容器里面存储(1、2、3、6、7)
(3)高效操作
查找 插入 删除:我们可以根据《搜索二叉树》理解,每次折半,那么时间复杂度可以保证在O(logn),这些高效性源于红黑树的平衡特性!
(4)不支持随机访问
它的结构不是像数组那样的下标访问,元素的位置由树结构决定
(5)迭代器支持
支持正向和反向两种迭代器(下文有例举!)
【三】接口学习
(1)构造
set 比较常使用的是默认构造:set + 数据类型 + 变量
————————————————
版权声明:本文为CSDN博主「雾非雾の迷惘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Dovis5884/article/details/149348847
完整解释:
在C++标准模板库(STL)中,set是一种关联容器,用于存储唯一元素(本身是 key),并自动按升序排序。它基于红黑树(一种自平衡二叉搜索树)实现,提供了高效的查找、插入和删除操作。set常用于需要快速访问和唯一性保证的场景,如去重、排序或作为字典键
set 通俗理解:
基于红黑树实现的一种容器,具有自动排序(升序)+不重复的特点
multiset 通俗理解:
基于红黑树实现的一种容器,具有自动排序(升序)特点,但 multiset 的节点允许键值重复
【二】特点详解
(1)自动排序
自动排序简而言之就是当你存入数据到 set 容器时,它会自动把它插入到合适的位置,从而实现自动排序,感觉就像《搜索二叉树+中序遍历》例如:
插入(1,、9、7、6),set 容器里面存储(1、6、7、9)
(2)唯一元素
唯一性体现在数据的独一无二,例如:
插入(1、2、3、3、3、7、7、6),set 容器里面存储(1、2、3、6、7)
(3)高效操作
查找 插入 删除:我们可以根据《搜索二叉树》理解,每次折半,那么时间复杂度可以保证在O(logn),这些高效性源于红黑树的平衡特性!
(4)不支持随机访问
它的结构不是像数组那样的下标访问,元素的位置由树结构决定
(5)迭代器支持
支持正向和反向两种迭代器(下文有例举!)
【三】接口学习
(1)构造
set 比较常使用的是默认构造:set + 数据类型 + 变量
————————————————
版权声明:本文为CSDN博主「雾非雾の迷惘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Dovis5884/article/details/149348847
完整解释:
在C++标准模板库(STL)中,set是一种关联容器,用于存储唯一元素(本身是 key),并自动按升序排序。它基于红黑树(一种自平衡二叉搜索树)实现,提供了高效的查找、插入和删除操作。set常用于需要快速访问和唯一性保证的场景,如去重、排序或作为字典键
set 通俗理解:
基于红黑树实现的一种容器,具有自动排序(升序)+不重复的特点
multiset 通俗理解:
基于红黑树实现的一种容器,具有自动排序(升序)特点,但 multiset 的节点允许键值重复
【二】特点详解
(1)自动排序
自动排序简而言之就是当你存入数据到 set 容器时,它会自动把它插入到合适的位置,从而实现自动排序,感觉就像《搜索二叉树+中序遍历》例如:
插入(1,、9、7、6),set 容器里面存储(1、6、7、9)
(2)唯一元素
唯一性体现在数据的独一无二,例如:
插入(1、2、3、3、3、7、7、6),set 容器里面存储(1、2、3、6、7)
(3)高效操作
查找 插入 删除:我们可以根据《搜索二叉树》理解,每次折半,那么时间复杂度可以保证在O(logn),这些高效性源于红黑树的平衡特性!
(4)不支持随机访问
它的结构不是像数组那样的下标访问,元素的位置由树结构决定
(5)迭代器支持
支持正向和反向两种迭代器(下文有例举!)
【三】接口学习
(1)构造
set 比较常使用的是默认构造:set + 数据类型 + 变量
————————————————
版权声明:本文为CSDN博主「雾非雾の迷惘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Dovis5884/article/details/149348847
更多推荐


所有评论(0)