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

STL之multiset 常见API介绍

有序(自动升序)、可重复的set

底层是红黑树,查找、插入、删除复杂度均为O(log n)

1 定义

#include <set> // multiset 包含在 set 头文件中 using namespace std; // 1. 默认升序 multiset multiset<int> ms; // 2. 自定义降序 multiset multiset<int, greater<int>> ms_desc; // 3. 初始化方式 multiset<int> ms1 = {1, 3, 3, 5}; // 列表初始化 multiset<int> ms2(ms1); // 拷贝初始化

2 插入

multiset<int> ms; ms.insert(3); // 插入 3 ms.insert(3); // 再次插入 3,允许重复 ms.emplace(5); // 直接构造 5,效率优于 insert // 插入区间 vector<int> v = {1, 2}; ms.insert(v.begin(), v.end()); // 最终容器:1,2,3,3,5

3 删除

multiset<int> ms = {1,3,3,5}; ms.erase(3); // 删除所有 3 → 容器:1,5 ms.erase(ms.begin()); // 删除第一个元素 → 容器:5,通过迭代器删除 ms.clear(); // 清空容器

4 查找

multiset<int> ms = {1,3,3,5}; // 查找 auto it = ms.find(3); // 指向第一个 3 // 统计 int num = ms.count(3); // 结果:2 // 区间查找 auto left = ms.lower_bound(3); // 指向第一个 3 auto right = ms.upper_bound(3); // 指向 5 // 遍历所有 3 for(auto i = left; i != right; ++i) cout << *i << " "; // equal_range 简化写法 auto range = ms.equal_range(3); for(auto i = range.first; i != range.second; ++i) cout << *i << " ";

其中,我重点介绍下lower_bound和upper_bound

这两个API都是二分查找,找不到都返回ms.end()

若ms.upper_bound(-1) 返回ms.begin()

5 其他常见操作

multiset<int> ms = {1,3,3}; cout << ms.size(); // 3 cout << ms.empty(); // 0(false)
http://www.jsqmd.com/news/709726/

相关文章:

  • NAD+哪个产品最好?2026年抗衰老NAD+口碑排名第一名,避雷“黑榜大冤种”品牌 - 资讯焦点
  • BiliRoamingX:解锁B站完整观影体验的3大核心解决方案
  • 全国最推荐的外贸收款平台有哪些?2026年上海广东深圳等地区市场选择前五排名 - 十大品牌榜
  • 2026年宁波留学中介测评:口碑最好、收费透明的机构如何选择 - 速递信息
  • 基于LLM与知识图谱的代码库智能问答系统实战指南
  • 当NSGA-II遇上路径规划:手把手教你用Python解决带约束的多目标配送问题
  • 终极明日方舟自动化助手:5分钟快速上手MAA完整指南
  • 花了两万块报班后,我终于搞清楚了平面设计培训哪家好 - 资讯焦点
  • 全国最推荐跨境电商收款供应商有哪些?2026年上海广东深圳等地区市场选择前五排名 - 十大品牌榜
  • Obsidian插件界面中文翻译:5分钟实现多语言本地化终极指南
  • 20252811 2025-2026-2 《网络攻防实践》第六周作业
  • 魔兽争霸3现代优化终极方案:WarcraftHelper完整配置指南
  • Akagi麻将AI助手:5分钟从零开始打造你的智能牌局分析系统
  • 带电显示器技术选型指南:合规性与适配性核心解析 - 资讯焦点
  • 解密OpenHand机械手:从实验室原型到工业级抓取系统的实战演进
  • ESP32物联网开发终极指南:从硬件连接到智能系统架构
  • 一期带你过一遍AI 底层逻辑
  • 空间辐射环境下抗辐射 MCU 可靠性机理及航空安全应用研究综述
  • 2026年河南无塔供水器与二次加压供水设备深度横评选购指南 - 精选优质企业推荐官
  • PitchDetect完整指南:如何在浏览器中实现实时音高检测与精准调音
  • 2026年4月盐城软体/实木/办公/软体/酒店家具厂家选购:三大直销厂家深度解析 - 2026年企业推荐榜
  • 2026年Hermes Agent/OpenClaw如何部署?常见问题解答
  • 如何3步完成抖音内容批量下载:面向新手的完整解决方案
  • 2026年无锡留学中介十强深度解析,反馈及时服务全面对比 - 速递信息
  • 免费获取11.9万英语单词发音MP3:一站式音频资源解决方案
  • VSCode-reinstall-remote-extension备份重装vscodeextension
  • 2025届毕业生推荐的六大AI辅助论文网站推荐
  • 抖音去水印批量下载工具:开源高效的终极解决方案
  • 2026年四大标签打印软件推荐|从轻量协同到工业级合规全场景适配 - 速递信息
  • 企业级 AI 智能体架构拆解:全栈平台、垂直执行、低代码开源方案对比