新闻中心
c++中set容器怎么使用_c++ set集合容器基础用法
set是C++中基于红黑树实现的关联容器,自动排序且元素唯一。需包含头文件,使用insert插入元素(重复值无效),erase删除元素,find查找元素(返回迭代器或end()),支持范围for循环遍历(升序)。常用操作包括size()、empty()、clear()和count()。默认升序,可自定义比较函数实现降序等排序。适用于去重与有序存储,不支持重复元素或手动控制位置。核心操作为insert、find、erase和遍历。

在C++中,set 是一个非常实用的关联式容器,位于 #include
1. 包含头文件与定义 set
使用 set 前必须包含对应的头文件:
#include定义一个 set 容器的方式如下:
std::set
例如:
std::set
std::set<:string>words; // 存储字符串的集合
2. 插入元素(insert)
使用 insert() 函数向 set 中添加元素,相同值不会被重复插入。
示例:
numbers.insert(10);
numbers.insert(5);
numbers.insert(10); // 重复值,不会被插入
此时 numbers 中只有 5 和 10,且自动按升序排列。
3. 删除元素(erase)
可以使用 erase() 删除指定值或迭代器指向的元素。
示例:
numbers.erase(5); // 删除值为 5 的元素
numbers.erase(numbers.begin()); // 删除第一个元素
4. 查找元素(find)
使用 find() 查找某个值是否存在。如果找到,返回指向该元素的迭代器;否则返回 end()。
示例:
if (numbers.find(10) != numbers.end()) {
std::cout
}
短影AI
长视频一键生成精彩短视频
170
查看详情
5. 遍历 set
set 中的元素默认从小到大排序,可以用范围 for 循环或迭代器遍历。
示例:
for (const auto& x : numbers) {
s
td::cout
}
// 输出:5 10(按升序)
6. 其他常用操作
size():返回元素个数
empty():判断是否为空
clear():清空所有元素
count():检查某值是否存在(返回 0 或 1,因为 set 不允许重复)
示例:
if (!numbers.empty()) {
std::cout
}
7. 自定义排序(可选)
默认 set 按升序排列,可以通过传入比较函数改变顺序。例如降序:
std::set
desc_set.insert(3);
desc_set.insert(1);
desc_set.insert(5);
遍历时输出为:5 3 1
基本上就这些。set 适合用于去重和有序存储的场景,比如统计不重复的数据、查找优化等。掌握 insert、find、erase 和遍历这几个核心操作,就能应对大多数基础需求了。不复杂但容易忽略的是:set 会自动排序且不能有重复,所以不适合需要保留重复元素或自定义位置的场景。
以上就是c++++中set容器怎么使用_c++ set集合容器基础用法的详细内容,更多请关注其它相关文章!
# 是否存在
# 金堂网站网络推广平台
# 鹿泉手机网站建设
# 怎么建设宠物之家网站呢
# 开福区营销推广中心地址
# 紫云网站关键词优化
# 吕梁附近网站推广靠谱吗
# 西城网站建设推广优化
# 甘肃英文关键词排名
# 房产网站建设网站优化
# 望都抖音关键词排名外包
# 如何实现
# word
# 多线程
# 并与
# 迭代
# 头文件
# 自定义
# 递归
# 遍历
# 升序
# 排列
# c++
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
J*a递归快速排序中静态变量的状态管理与陷阱
C++如何打印当前代码行号与文件名_C++预定义宏FILE与LINE的使用
C++如何解决segmentation fault_C++段错误调试与原因分析
126邮箱网页版官方入口 126邮箱账号在线登录平台
写好的html代码怎么运行出来_运行写好的html代码方法【教程】
sublime如何配置Go语言开发环境_sublime搭建Golang编译运行系统
手机CPU怎么影响游戏体验_手机CPU对游戏性能的影响分析
Golang如何优化CPU绑定任务分配策略_Golang CPU任务分配优化实践
浏览器打开即用 美图秀秀网页版入口
PHP中SSG-WSG API的AES加密实践:正确使用初始化向量
CSS自定义字体样式被系统字体替换怎么办_font-face方式指定font-display控制渲染策略
整合Supabase认证与Django模型:跨模式迁移的解决方案
将JSON对象数组转置为键值对列表的实用指南
yy漫画网页版官方入口_yy漫画官网登录页面链接
俄罗斯方块最新版入口 俄罗斯方块在线玩官网入口
qq游戏跨平台入口_qq游戏多设备同步登录
Basecamp怎样用留言钉固定重点_Basecamp用留言钉固定重点【重点标记】
Go Martini框架:动态服务解码后的图片内容
聚水潭ERP登录页面入口 聚水潭ERP官网登录界面
微信网页版登录教程_微信网页版登录入口在哪
Pandas DataFrame:高效添加条件计算列
Golang如何实现简单的Web表单_Golang表单提交与验证处理方法
Yandex搜索引擎官网入口_俄罗斯Yandex免登录一键直达
解决Rails应用中内容错位与Turbo警告:meta标签误用导致富文本渲染异常
如何使用 Excel 发布器与 Power BI 分享 Excel 洞察
微博网页版首页入口 微博电脑端官网登录链接
想当下一个《2077》?《心之眼》Steam评价升至"多半好评"
UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS
mysql密码锁定怎么解锁_mysql密码锁定解锁后修改密码步骤
将HTML动态表格多行数据保存到Google Sheet的教程
Mac怎么锁定备忘录_Mac备忘录加密设置教程
大象笔记网页版入口 印象笔记网页版登录入口
移动端XML文件怎么转换成Excel 手机和平板上的解决方案
Selenium Python中处理点击后新窗口加载冻结问题的策略与实践
解决Python单元测试中Mock异常方法调用计数为零的问题
Kafka Streams中基于消息头条件过滤消息的实现指南
Angular Material 垂直步进器:实现底部到顶部排序的教程
2026春节假期时间安排 2026春节假日查询
微信客户端如何收红包_微信客户端接收红包使用教程
抖音从哪里进入网页版_抖音官方入口链接
在python-socketio事件处理器中安全访问Flask应用上下文
win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】
J*a实现学校排课程序_面向对象结构化项目示例
MAC怎么在地图App里使用“四处看看”_MAC体验部分城市的3D实景街景
Bing引擎入口最新2025 Bing搜索免费官方登录
火狐浏览器占用内存高卡顿怎么办 火狐浏览器性能优化设置技巧
Tabulator表格中精确实现日期时间排序的指南
Django表单提交验证失败后保持字段值不刷新
Word2013如何插入视频和音频媒体_Word2013媒体插入的多媒体支持
如何在Promise链中有效终止错误处理后的执行


2025-11-01
浏览次数:次
返回列表