set的使用
介绍set
set,说白了就是一个集合,它是拥有互异性,按升序(从小到大)排列的一串数据。
set的用法
声明
set <int> a; // 创建一个名为a的int类型集合
操作
a.insert(x) // 向集合a插入元素x
a.erase(x) // 将集合a中的元素x删除
a.clear() // 将集合a清空
查询
a.size() // 集合大小(不重复的元素个数)
a.empty() // 判断集合是否为空,返回 true 或 false
a.begin() // 头部指针,用于遍历
a.end() // 尾部指针,用于遍历
a.find(x) // 返回元素x在set中的位置(迭代器),若没有元素x返回a.end()
a.count(x) // 判断元素x是否在集合中出现,返回 true 或 false
a.upper_bound(x) // 用法&效果等同于 a.find(x),时间复杂度 O(log n)
a.lower_bound(x) // 用法&效果等同于 a.find(x),时间复杂度 O(log n)
TIPS
如果想对结构体或没有重定向小于号的数据进行排序或去重,我们需要重定向小于号(
less<int>()
),如下所示:
bool operator < (const int 类型名 & x) const { return 和x作比较の结果; }
本文来自博客园,作者:LG532626,转载请注明原文链接:https://www.cnblogs.com/atronomia/p/use-set.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合终身会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C# 模式匹配全解:原理、用法与易错点
· 杂七杂八系列----C#代码如何影响CPU缓存速度?
· C#/.NET/.NET Core优秀项目和框架2025年5月简报
· 鸿蒙仓颉语言开发实战教程:商城应用个人中心页面
· FFmpeg开发笔记(六十三)FFmpeg使用vvenc把视频转为H.266编码