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作比较の结果;
}
posted @   LG532626  阅读(24)  评论(0)    收藏  举报
相关博文:
阅读排行:
· C# 模式匹配全解:原理、用法与易错点
· 杂七杂八系列----C#代码如何影响CPU缓存速度?
· C#/.NET/.NET Core优秀项目和框架2025年5月简报
· 鸿蒙仓颉语言开发实战教程:商城应用个人中心页面
· FFmpeg开发笔记(六十三)FFmpeg使用vvenc把视频转为H.266编码
点击右上角即可分享
微信分享提示