set是C++ STL中基于红黑树实现的关联容器,自动排序且元素唯一,支持O(log n)的插入、删除和查找操作。通过#include <set>引入,定义为std::set<T>,可使用初始化列表或迭代器构造。常用方法包括insert、erase、find、count等,适用于去重、有序遍历和快速查找场景。默认按升序排列,可通过自定义比较函数或重载<运算符调整排序规则,广泛用于集合维护与统计任务。

在C++中,set 是标准模板库(STL)中一个非常实用的关联容器,用于存储唯一且自动排序的元素。它底层通常基于红黑树实现,保证了插入、删除和查找操作的时间复杂度为 O(log n)。由于其特性,set 在去重、有序遍历、快速查找等场景中被广泛使用。
要使用 set,需要包含头文件 <set>:
#include <set>定义一个 set 的基本语法如下:
std::set<T> s;
立即学习“C++免费学习笔记(深入)”;
其中 T 是元素类型,可以是 int、double、string 等可比较的类型。
常见初始化方式包括:
set 提供了一系列成员函数来完成增删查改等操作:
示例代码:
std::set<int> s;set 中的元素默认按升序排列(使用 std::less<T>)。如果希望改变排序方式,比如降序,可以在定义时指定比较函数:
std::set<int, std::greater<int>> desc_set;也可以使用自定义结构体或类,但必须提供可比较的规则:
struct Person {注意:自定义类型必须重载 < 运算符,或传入仿函数作为模板参数。
set 的典型用途包括:
例如统计一段文本中出现过的单词(不重复):
std::set<std::string> words;基本上就这些。set 使用简单高效,适合大多数需要自动排序和唯一性的场景。掌握它的基本操作和限制(如不能修改元素值),能显著提升编码效率。
以上就是c++++中set容器的用法详解_c++ set集合的常见操作与应用场景的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号