C++中STL容器应用

news/2025/10/28 11:21:00/文章来源:https://www.cnblogs.com/m877087643/p/19171292

一、STL容器核心应用

1. vector(动态数组)

特性:连续内存、随机访问O(1)、尾部操作高效

// 高性能数值计算
vector<double> processSensorData() {vector<double> readings;readings.reserve(1000);  // 预分配内存避免多次扩容for(int i=0; i<1000; ++i) {readings.push_back(getSensorValue());}// 使用STL算法处理数据auto max_val = *max_element(readings.begin(), readings.end());transform(readings.begin(), readings.end(), readings.begin(),[max_val](double x) {return x/max_val; });return readings;
}// 二维数组模拟
vector<vector<int>> matrix(5, vector<int>(5, 0));  // 5x5矩阵初始化
 
 

2. list(双向链表)

特性:任意位置插入/删除O(1)、不支持随机访问

// 高频交易订单簿
struct Order {double price;int quantity;
};list<Order> orderBook;// 插入时自动排序
void addOrder(Order newOrder) {auto it = find_if(orderBook.begin(), orderBook.end(),[&](const Order& o) {return o.price > newOrder.price; });orderBook.insert(it, newOrder);
}// 快速删除失效订单
orderBook.remove_if([](const Order& o) {return o.quantity <= 0; });
 
 

3. map/set(红黑树实现)

特性:自动排序、查找O(log n)

// 字典管理
map<string, string> configMap = {{"resolution", "1920x1080"},{"volume", "75"}
};// 安全访问
if(auto it = configMap.find("volume"); it != configMap.end()) {cout << "当前音量:" << it->second << endl;
}// 多键索引
multimap<string, Employee> nameIndex;  // 允许重复键
 
 

4. unordered_map(哈希表)

特性:平均O(1)访问、无序存储

// 快速查找表
unordered_map<string, int> wordCount;// 词频统计
string text = "a quick brown fox jumps over the lazy dog";
istringstream iss(text);
string word;
while(iss >> word) {++wordCount[word];
}// 查找高频词
auto highFreq = max_element(wordCount.begin(), wordCount.end(),[](auto& a, auto& b) {return a.second < b.second; });
 
 

5. deque(双端队列)

特性:头尾操作高效、分段连续存储

// 滑动窗口处理
deque<int> window;
const int WINDOW_SIZE = 5;void processData(int newValue) {window.push_back(newValue);if(window.size() > WINDOW_SIZE) {window.pop_front();}// 计算窗口平均值double avg = accumulate(window.begin(), window.end(), 0.0) / window.size();
}
 
 

常见陷阱与解决方案

  1. 迭代器失效问题
    vector<int> vec {1,2,3,4,5};
    for(auto it = vec.begin(); it != vec.end(); ) {if(*it % 2 == 0) {it = vec.erase(it);  // 正确方式} else {++it;}
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/948588.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P7914 [CSP-S 2021] 括号序列

P7914 [CSP-S 2021] 括号序列 题解题目传送门 我的博客-欢迎光临喵 曾经有位大佬说过,计数类问题不是排列组合就是 dp。可是它看着不像排列组合,所以我们考虑 dp。又注意到 \(n \le 500\),很适合 \(O(n^3)\) 的解法…

破解跨地域研发协同难题:2025主流制品管理平台选型对比与关键指标解析

跨地域研发成企业标配,但带来制品同步滞后、版本混乱等协同难题,制品管理平台是破解关键。选型需关注制品库跨地域同步分发、安全合规、存储成本与扩展性等指标,企业需结合行业特性、合规要求等,选择适配自身的平台…

C#领域驱动设计在 ERP 项目中的应用设计

在 ERP(企业资源计划)项目开发中,我们常面临一个核心挑战:如何将复杂多变的业务规则转化为可维护、可扩展的代码?传统的 "数据库优先" 或 "贫血模型" 开发模式,往往导致业务逻辑分散在服务层…

ansible 配置阿里源 实例

ansible 配置阿里源 实例目录结构 hosts deployment- aliyuan.yml roles- aliyuan- tasks-main.yml- templater- files-centos7_base_epel_aliyun_repo.sh-rockylinux9_base_epel_aliyun_repo.sh-ubuntu_source_list.s…

借助 ChatGPT API 将 AI 集成到测试自动化框架中

借助 ChatGPT API 将 AI 集成到测试自动化框架中 了解如何通过集成 AI 为自动化框架生成真实数据、检测日志异常,并提升 CI/CD 运行的可靠性。 当我第一次尝试在测试自动化框架中集成 AI 时,以为它仅能用于少数基础场…

2025 年拉力试验机厂家最新推荐排行榜:聚焦专精特新企业技术实力与市场口碑深度解析

引言 在工业制造高质量发展进程中,拉力试验机作为材料性能检测的核心设备,其精度、稳定性与适配性直接关乎产品质量管控与行业安全底线。当前市场上试验机厂家数量众多,但产品质量参差不齐,部分厂家缺乏核心加工能…

easyui gridview中toolbar中按钮的显示与否

需要根据抓取数据决定easyui gridview中toolbar的按钮是否显示出来供用户操作。 首先将toolbar中的按钮加上idvar toolbar = [{ text: Submit, iconCls: icon-ok, id:btnSu…

逆合成孔径雷达(ISAR)成像中的包络对齐和相位补偿算法MATLAB实现

1. 算法原理概述 1.1 ISAR成像基本流程 原始回波 → 距离压缩 → 包络对齐 → 相位补偿 → 方位压缩 → ISAR图像1.2 包络对齐和相位补偿的重要性包络对齐:补偿目标平动引起的距离向偏移 相位补偿:补偿目标平动引起的…

2025 年洗车机厂家最新推荐排行榜:实力企业技术服务测评及选购指南全自动 / 卷帘门 / 无接触 / 龙门式 / 隧道式 / 智能无人洗车机公司推荐

引言 为解决洗车机市场产品质量参差、选型难等问题,本次榜单由中国汽车后市场协会联合行业技术研究院共同发起测评,参考《全自动洗车机技术要求》(GB/T 39789-2021)标准,结合 12 项核心指标完成评选。测评过程中,…

251027 复现VMScape

251027 复现VMScape VMScape 工作重要成果是利用 Spectre-BTI 攻击方式由 Guest 攻击 Host。 一是暂态执行的影响大、变种多,做 VMScape 作为切口方便理解整个暂态执行体系,我们后续也有可能在暂态执行上继续做点工作…

2025 年试验机厂家最新推荐排行榜:聚焦专精特新企业,全方位解析技术实力与市场口碑

引言 在工业制造高质量发展进程中,材料性能检测是保障产品安全与品质的关键环节,试验机作为核心检测设备,其性能稳定性、技术精准度直接影响企业生产效率与行业质量标准。当前试验机市场品牌繁杂,部分企业缺乏核心…

2025年锌铝镁桥架公司 top 10 推荐

文章摘要 锌铝镁桥架行业在2025年持续增长,得益于基础设施建设和智能电网发展,市场需求旺盛。本文基于行业数据和用户口碑,整理出前十名锌铝镁桥架公司推荐榜单,旨在为采购商提供参考。榜单综合考虑产品质量、服务…

2025年锌铝镁桥架产品行业推荐与洞察

摘要 锌铝镁桥架行业在2025年预计将持续增长,受益于基础设施建设和智能电网的推进,市场需求稳健上升。本文基于行业报告、用户反馈和市场调研,整理了锌铝镁桥架产品的十大推荐公司,旨在为读者提供权威参考。排名表…

2025 年德州清水混凝土修补,德州仿清水混凝土修补,德州外墙仿清水混凝土修补公司最新推荐,聚焦资质、案例、售后的五家企业深度解读

引言 随着 “十五五” 规划布局推进,建筑行业加速向绿色化、数智化转型,清水混凝土修补及仿清水施工需求在城市更新、基建升级中持续攀升。数据显示,2025 年一季度混凝土修补市场规模同比增长 9.3%,但区域市场企业…

万字详解:混元大模型+GraphRAG+知识图谱实现永久记忆的专属AI伴侣 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年德州混凝土修补,山东专业混凝土修补,山东建筑清水混凝土修补,山东装饰清水混凝土修补公司最新推荐,聚焦资质、案例、售后的五家企业深度解读

引言 随着建筑存量时代到来,混凝土裂缝、色差、剥落等病害问题频发,德州及山东地区对专业混凝土修补服务的需求年增 15% 以上。为破解市场企业资质混杂、服务质量不均的选择难题,本次测评联合行业权威机构,历时三月…

高端网站设计不只是“好看”——兰亭妙微解读5个提升商业价值的设计策略

高端网站设计不只是“好看”——兰亭妙微解读5个提升商业价值的设计策略突破 “颜值即正义” 的迷思 在当今数字化时代,网站已成为企业展示自身形象、与用户互动的重要窗口。当谈及高端网站设计时,不少人脑海中首先浮…

前后端分离,千万别再搞错了!

所谓全栈,就是 全干,整个网站项目的后端和前端都由你一个人负责开发。你是小阿巴,刚入职的全栈程序员。所谓全栈,就是 全干,整个网站项目的后端和前端都由你一个人负责开发。 当用户打开一个网站,能直观看到、可…

OpenRouter vs. SightAI:统一入口,还是统一“智能体验”? - sight

产品哲学与远景OpenRouter 的使命是把主流模型聚合到一个入口,给开发者统一的调用方式(统一 API、统一渠道)。SightAI 则把“聚合”向前推进一步:不仅让你“能访问谁”,更要自动把事儿办好——不用深究“到底哪个…

ansible init 初始化实例

ansible init 初始化实例解耦的目录结构 hosts deployment- init.yml roles- init- tasks-main.yml- templater- fileshosts [init] 192.168.106.130 hostname=rocky90-106-130[all:vars] ansible_ssh_user=root ansib…