使用范围-based for循环可简洁遍历set,元素自动排序输出为1 3 4 5;2. 迭代器遍历兼容所有C++版本,通过begin()和end()访问元素;3. 反向迭代器实现逆序输出5 4 3 1;4. 结合for_each与lambda表达式提升代码抽象性。现代C++推荐首选范围-for循环。

在C++中,set 是一种关联容器,用于存储唯一且自动排序的元素。遍历 set 是日常编程中的常见操作。下面介绍几种常用的遍历方法,帮助你高效访问 set 中的每一个元素。
这是最简洁、推荐的方式,适用于现代C++开发。
#include <set>
#include <iostream>
int main() {
std::set<int> numbers = {3, 1, 4, 1, 5}; // 自动去重并排序
for (const auto& value : numbers) {
std::cout << value << " ";
}
return 0;
}
输出结果为:1 3 4 5。注意元素已自动排序。
传统但灵活的方法,适用于所有C++标准版本。
std::set<int> numbers = {3, 1, 4, 1, 5};
for (auto it = numbers.begin(); it != number
s.end(); ++it) {
std::cout << *it << " ";
}
通过 begin() 获取起始迭代器,end() 获取末尾之后的位置,用 *it 解引用获取值。
如果需要从大到小访问元素,可以使用反向迭代器。
Pinokio
Pinokio是一款开源的AI浏览器,可以安装运行各种AI模型和应用
232
查看详情
for (auto rit = numbers.rbegin(); rit != numbers.rend(); ++rit) {
std::cout << *rit << " ";
}
输出结果为:5 4 3 1,即降序输出。
使用 STL 算法提升代码抽象层次。
#include <algorithm>
std::for_each(numbers.begin(), numbers.end(), [](const int& n) {
std::cout << n << " ";
});
配合 lambda 表达式,可写出更清晰的逻辑处理代码。
基本上就这些常用方式。选择哪种取决于你的编译器支持和编码风格。现代C++优先推荐范围-for循环,简洁安全。
以上就是c++++怎么遍历set_c++ set遍历方法解析的详细内容,更多请关注其它相关文章!
相关文章:
解决PHP会话Cookie在跨域请求中不保留的问题
Composer中的^和~符号代表什么_精通Composer版本号语义化约束
C++如何实现一个智能指针_手动实现C++ shared_ptr的引用计数功能
文本文档写html代码怎么运行_文本文档html代码运行步骤【教程】
Linux如何构建多环境配置管理_Linux多环境配置方案
c++项目目录结构应该如何组织_c++工程化项目结构规范
J*aScript中正确使用querySelectorAll与复杂CSS选择器
vivo手机互传视频怎么操作_vivo手机互传视频详细传输方法
现代化 SciPy 一维插值:interp1d 的替代方案与最佳实践
uc浏览器网页版入口 uc浏览器网页版最新网址
Golang如何处理RPC请求负载均衡_Golang RPC请求负载均衡策略与实践
快手极速版在线观看 官方网页版登录地址
三星GalaxyZFold5怎样在相册制作折叠屏分镜_iPhone三星GalaxyZFold5相册制作折叠屏分镜【创意编辑】
CSS条件样式无法按设备触发怎么排查_media条件语句正确设置解决触发问题
魅族17怎样用浏览器译外语网页_iPhone魅族17浏览器译外语网页【即时翻译】
HTML长属性值处理:表单action路径优化与代码规范应对
QQ邮箱在线使用入口 QQ邮箱个人账号网页版登录
C++ explicit关键字防止隐式转换_C++构造函数安全规范
在J*aScript中复现SciPy的B样条拟合与求值:关键考量
Yandex免登录官网入口_俄罗斯Yandex搜索引擎直达链接
58动漫网在线官方网 58动漫网正版动漫入口网址
俄罗斯方块最新版入口 俄罗斯方块在线玩官网入口
PHP中SSG-WSG API的AES加密实践:正确使用初始化向量
QQ邮箱网页版邮箱入口 QQ邮箱官方登录平台
J*aScript中高效管理与清空动态列表:避免循环陷阱
学习通网页版快速入口 学习通官网网页版直接打开
如何在Python中使用Optional类型处理可变对象并避免Pylint警告
包子漫画官方网站阅读入口-包子漫画在线漫画官网直达链接
KFC套餐升级怎么获取优惠代码_KFC套餐升级活动与优惠代码获取方法
Go语言中构建可靠数据存储的原子性与持久化策略
Python多版本共存与虚拟环境管理深度指南
修复二维数组索引越界异常:一维循环到二维坐标的正确映射
如何使 Jest 模拟函数默认抛出错误以提高测试效率
python3时间如何用calendar输出?
在Typer应用中优雅地处理和重组任意命令行参数
一加 14R 快充无反应_一加 14R 充电优化
自定义 WooCommerce 购物车:始终显示全部交叉销售商品
处理Kafka消费者会话超时:深入理解消息处理语义与幂等性
怎样更改Windows系统的默认安装路径_避免C盘爆满的终极设置【技巧】
在WordPress中通过REST API访问受BasicAuth保护的站点内容
优化大型XML文件解析:基于Python流式处理的内存高效方案
UC浏览器如何安装插件 UC浏览器添加扩展程序详细教程【进阶】
CSS Flexbox与媒体查询:实现响应式布局中元素的并排与堆叠
LINUX怎么安装MySQL_LINUX数据库安装配置教程
J*a如何使用AtomicInteger控制计数_J*a无锁计数器性能分析
解决Django多数据库/多Schema环境下外键迁移问题
Word2013如何插入视频和音频媒体_Word2013媒体插入的多媒体支持
BetterDiscord插件中安全更新用户简介的实践指南
PowerPoint如何制作滚动字幕结尾彩蛋_PowerPoint路径动画实现平滑滚动字幕效果
顺丰国际快递查询 国际件官方查询入口