技术支持 光速东莞网站建设企业管理咨询服务合同模板

张小明 2026/3/2 19:58:48
技术支持 光速东莞网站建设,企业管理咨询服务合同模板,wordpress 多栏主题,青岛公司建站网站C 中的 std::map 是 STL#xff08;标准模板库#xff09;中关联式容器的核心组件#xff0c;基于红黑树实现#xff0c;以「键 - 值#xff08;key-value#xff09;」对的形式存储数据#xff0c;且会自动按照键的升序排序#xff0c;是处理有序键值对场景的首选工具…C 中的std::map是 STL标准模板库中关联式容器的核心组件基于红黑树实现以「键 - 值key-value」对的形式存储数据且会自动按照键的升序排序是处理有序键值对场景的首选工具。一、核心特性有序性插入元素后map 会自动根据 key 的大小默认升序排序底层红黑树保证了有序性和高效的插入 / 查找 / 删除效率平均时间复杂度 O (log n)。唯一性key 具有唯一性不允许重复插入相同的 key若插入重复 key新值会覆盖旧值。非连续存储不同于数组 /vectormap 元素存储在红黑树节点中物理地址不连续不支持随机访问无法用下标[]直接按索引访问仅能按 key 访问。可自定义排序支持通过自定义比较函数修改 key 的排序规则如降序、自定义类型排序。二、基础用法含代码示例1. 头文件与初始化使用 map 需包含头文件map基础初始化方式cpp运行#include iostream #include map #include string using namespace std; int main() { // 方式1空mapkey为intvalue为string mapint, string m1; // 方式2初始化时插入元素 mapint, string m2 {{1, Apple}, {2, Banana}, {3, Cherry}}; // 方式3自定义排序降序 mapint, string, greaterint m3 {{1, A}, {2, B}}; // 按key降序2→1 return 0; }2. 元素插入cpp运行mapint, string m; // 方式1[] 运算符若key不存在则插入存在则修改value m[1] Apple; m[2] Banana; // 方式2insert() 推荐避免不必要的默认构造 m.insert(pairint, string(3, Cherry)); m.insert(make_pair(4, Date)); m.insert({5, Elderberry}); // 方式3emplace() 直接构造效率更高 m.emplace(6, Fig);3. 元素查找cpp运行// 方式1find() 返回迭代器未找到则返回 end() auto it m.find(3); if (it ! m.end()) { cout 找到 it-first → it-second endl; } else { cout 未找到key3 endl; } // 方式2count() 判断key是否存在返回0或1 if (m.count(4)) { cout key4 存在 endl; }4. 元素删除cpp运行// 方式1按key删除 m.erase(2); // 删除key2的元素 // 方式2按迭代器删除 auto it m.find(5); if (it ! m.end()) { m.erase(it); } // 方式3删除所有元素 m.clear();5. 遍历cpp运行mapint, string m {{1, A}, {2, B}, {3, C}}; // 方式1普通迭代器 for (auto it m.begin(); it ! m.end(); it) { cout it-first → it-second endl; } // 方式2范围forC11 for (auto pair : m) { cout pair.first → pair.second endl; }三、常见使用场景数据字典 / 索引如通过 ID 映射用户信息、通过单词映射释义。有序统计如统计字符出现次数并按字符顺序输出。配置项存储如读取配置文件中的键值对按 key 有序管理。四、注意事项map的[]运算符若访问不存在的 key会自动插入该 keyvalue 为默认构造值如 string 为空串、int 为 0需避免误操作。若无需有序性优先使用unordered_map哈希表实现平均查找效率 O (1)性能更优。自定义类型作为 key 时必须重载比较运算符如或自定义比较函数否则无法排序。五、map vs unordered_map 对比特性std::mapstd::unordered_map底层实现红黑树哈希表有序性按 key 升序可自定义无序查找效率O(log n)平均 O (1)最坏 O (n)插入 / 删除O(log n)平均 O (1)最坏 O (n)内存占用较低红黑树节点较高哈希表扩容预留适用场景需有序、频繁遍历无需有序、高频查找
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

python做公司网站外贸工作上班一般都干嘛

每一个时代都有代表性的产业机会,把握当下的产业脉络,大概率就是好的投资方式。梳理过去近二十年的市场脉络,2007年市场追逐有色金属,2015年追金融科技,2019年投资新能源产业,而2025年以来,明显…

张小明 2026/1/10 15:27:42 网站建设

网络建站模板射阳建设网站

Excalidraw图表联动功能:多个视图同步更新 在远程协作日益成为常态的今天,团队对可视化工具的需求早已超越了“画个图”的范畴。尤其是在技术设计、产品原型和系统架构讨论中,一张静态的流程图往往无法承载动态交流的信息密度。当多人同时参…

张小明 2026/1/10 14:24:03 网站建设

长春有免费做网站的么淘宝客怎么做网站管理

Tsuru平台池管理机制:构建企业级多租户隔离架构终极指南 【免费下载链接】tsuru Open source and extensible Platform as a Service (PaaS). 项目地址: https://gitcode.com/gh_mirrors/ts/tsuru 在当今多云和容器化时代,池管理机制已成为企业级…

张小明 2026/1/11 1:17:26 网站建设

唐山长城网站建设网站建设哪里招标

Linux文件系统探秘:从基础到实践 1. Linux文件系统概述 Linux文件系统是存放Linux相关内容的地方,它包含了各种实用工具文件、应用程序文件、设备文件、系统文件、数据文件等。在Linux中,一切皆文件,所以了解Linux文件的概念以及它在文件系统中的呈现方式至关重要。 Lin…

张小明 2026/1/11 2:14:19 网站建设

大理北京网站建设营销型网站建设的一般过程包括哪些环节

EmotiVoice在AI伴侣App中的共情语音设计 在智能陪伴类产品中,声音早已不再是简单的信息传递工具。当用户对“被理解”和“被关心”的需求日益强烈时,语音的温度、语气的拿捏、情绪的共鸣,就成了决定产品成败的关键细节。一个能在你失落时轻声…

张小明 2026/1/10 10:37:44 网站建设

腾讯云怎么建设网站视频教程网

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个带计时功能的Chrome错误修复对比工具。左侧模拟传统手动修复流程(如删除配置文件、重置设置等分步操作),右侧使用AI自动诊断修复。记录两…

张小明 2026/1/4 17:18:43 网站建设