火龙信奥
  • 首页
  • 课程
  • 题库
  • 打卡
    • 代码对战
    • 快速对战
  • 题单
  • 团队
  • 荣誉墙
  • 商城
  • 登录 / 注册

multiset中的常用操作

作者: 作者的头像   丁晨涛 , 时间:2024-10-19 11:31:05 , 所有人可见, 阅读  8

multiset的常用操作 1.insert 插入 参数可以是某个具体的val值如:int变量名,常数,也可以是某个迭代器的区间,如数组的区间

int a = 2, b[3] = {0, 1, 2};
st.insert(a);//插入2
st.insert(b, b + 3);插入0, 1, 2

2.erase 删除 参数可以是某个具体的val值如insert函数,也可以是某个具体的迭代器或迭代器的区间

st.erase(2);//删除2
st.erase(st.find(2));//find是返回参数对应的迭代器,这里整行代码的意思就是删除2这个元素
st.erase(st.begin(), st.end());//删除全部

3.begin 无参数,返回值是开头的值的迭代器(升序情况下最小值)

st.insert(2);st.insert(3);
st.begin();//输出即为2

4.end 无参数,返回值末尾的值的迭代器(不带内容,前一位数是升序最大值)

st.insert(2);st.insert(3);
st.end();//输出即为最后一个元素之后的值,无实际值

5.lower_bound 升序情况下返回大于等于x的最小值的迭代器,若没有则返回end(),常用于找到小于x的最大值

//若容器中没有大于等于2的值,则下方it的值为end()
auto it = st.lower_bound(2)//此时it为st容器中大于等于2的最小值对应的迭代器
--it;//此时it为st容器中小于2的最大值对应的迭代器

6.upper_bound 升序情况下返回大于x的最小值的迭代器,若没有则返回end(),常用于找到大于x的最小值

//若容器中没有大于2的值,则下方it的值为end()
auto it = st.lower_bound(2)//此时it为st容器中大于2的最小值对应的迭代器

7.find 返回对应val值的迭代器,若没有返回end()

auto it = st.find(2);//返回2这个值对应的迭代器,若容器中没有2的值则返回end()

8.size 返回set的大小,即有多少数

int size = st.size();

9.empty 返回set是否为空,空为true,非空为false

st.empty()//返回set容器是否为空。若为空则为true,非空则为false

10.count 返回val值的个数

int cnt = st.count(2);//返回set容器中2的个数

—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com

©2026加盟我们 | 关于我们 | ACM课程 | 常见问题 | 成果墙 | 评测记录 | 浙ICP备2021013995号
在线画图 | OI WIki | 打字练习
火龙信奥
请输入登录信息


请完成安全验证
验证码底图 滑块
向右拖动滑块完成验证
请输入用户名 / 绑定的手机号码



请输入注册信息(手机号验证码注册)





验证码5分钟有效,60秒内不可重复获取,每日最多3次

微信登录

微信登录二维码

正在生成二维码...

账号已过期,请续期。
去续期

绑定手机号

📱

为了更好地保护您的账号安全,享受完整的平台服务

请您尽快绑定手机号码