当前位置: 首页 > news >正文

C++set学习笔记

1. 定义

set需头文件<set>,是有序关联容器(红黑树实现),存储唯一不重复元素,自动按升序排列(默认<比较)。

2. 基本用法

定义:

set<T> name;          //默认升序
set<T,greater<T>> name;//降序

T为元素类型,name为 set 名称。

初始化:

//方式1:默认构造(空set)
set<int>s1;//方式2:初始化列表(C++11+,自动去重排序)
set<int>s2={3,1,4,1,5};//最终{1,3,4,5}//方式3:拷贝构造
set<int>s3(s2);//方式4:自定义降序
set<int,greater<int>>s4={3,1,4};//最终{4,3,1}

3. 核心成员函数

(1)插入与删除

//插入:成功返<迭代器,true>,失败返<迭代器,false>
s1.insert(2);
s1.insert({5,3,7});//删除:按值/迭代器/范围
s1.erase(3);          //按值删,返1(成功)/0(失败)
s1.erase(s1.begin()); //按迭代器删(首元素)
s1.erase(s1.begin(),s1.find(5));//按范围删[begin,find(5))//清空
s1.clear();//清空后size=0

(2)查找与统计

//查找:存在返迭代器,不存在返end()
auto it=s2.find(4);
if(it!=s2.end())cout<<"找到:"<<*it<<endl;//输出4//统计:仅返1(存在)/0(不存在)
int cnt=s2.count(1);//cnt=1
int cnt2=s2.count(2);//cnt2=0

(3)状态查询

//大小
cout<<"size:"<<s2.size()<<endl;//输出4//判空
if(s1.empty())cout<<"s1空"<<endl;//首尾元素(迭代器)
cout<<"首元素:"<<*s2.begin()<<endl;//1
cout<<"尾元素:"<<*s2.rbegin()<<endl;//5

遍历可以使用

for(auto i:name)
http://www.dtcms.com/a/593450.html

相关文章:

  • 做 个收废品网站建设教育网站
  • 做中英文游戏门户网站关键词怎么弄棠下手机网站建设电话
  • 2025/11/10 IO流(转换流、序列化流/反序列化流、打印流、压缩流/解压缩流)Commons-io Hutool工具包 练习-制造假数据
  • 底层视觉及图像增强-项目实践(十六-0-(11):针对LED低灰细节丢失的AI超分技术:从原理到产品化实战):从奥运大屏,到手机小屏,快来挖一挖里面都有什么
  • 单页网站系统网站开发与设计.net
  • CCW 软件新手入门:从硬件组态到程序编辑完整指南
  • 审稿人:怎么不用交叉注意力做特征融合?
  • 算法155. 最小栈
  • 13.【NXP 号令者RT1052】开发——实战-QTMR 定时器中断
  • LeetCode 739. 每日温度
  • seo网站优化专家绿色资源网
  • 数据库迁移实操与金仓数据库技术优势:从语法兼容到自动化落地
  • 监听错误的方式有哪些?
  • 一阶时域信号的分类
  • 网站搭建推广优化企业网站建公司
  • Supabase 全景解析:开源后端的全栈开发革命
  • 2025年主流跨平台框架全面对比:选型指南与趋势展望
  • 徐州手机网站开发公司上海知名的seo推广咨询
  • 51自学网官方网站深州市住房保障和城乡建设局网站
  • 在超算上启动h5bench
  • 财报OCR录入识别软件准确率高吗?易道博识财报录入实测效果如何?
  • WPF MatrixTransform 矩阵参数的疑问?
  • 公网IP与私有IP的区别
  • 怎么做兼职类网站吗WordPress头像不能本地化
  • 丰城市建设局网站广安网站建设推荐
  • 【Jenkins/Termius/集群概念】
  • pyenv-win更新最新的python安装库使其可以安装最新python版本
  • 忘记密码页测试用例
  • 长沙 网站设计 公司旬阳做网站
  • ✨实验6:从2D混合几何到3D模型渲染