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

把自己做的网站传到网上网站本地可以打开

把自己做的网站传到网上,网站本地可以打开,设计一个创新产品,网页设计网站长沙目录 00.引言 set 和 map 的区别 键值对的概念 01.map容器 主要特性 常用操作 主要用途 02.multimap容器 特性 常用操作 用途 00.引言 set 和 map 的区别 set 和 map 都是C标准模板库#xff08;STL#xff09;中的容器#xff0c;它们的区别如下#xff1a;…目录 00.引言 set 和 map 的区别 键值对的概念 01.map容器 主要特性 常用操作 主要用途 02.multimap容器  特性 常用操作 用途 00.引言 set 和 map 的区别 set 和 map 都是C标准模板库STL中的容器它们的区别如下 set 是一个集合容器存储的是唯一的元素元素本身就是它的值且元素按照某种顺序进行存储。set 不允许存储重复元素常用于去重场景。 map 是一种键值对容器存储的是成对的数据key-value pairs其中键key是唯一的值value可以重复。map 主要用于通过键快速访问对应的值。 键值对的概念 键值对Key-Value Pair是指一种数据结构其中每个数据项都由两个部分组成键key和值value。键是唯一的通过键可以快速找到对应的值。键值对的应用广泛特别是在映射、查找、统计和数据关联等场景中。 键值对的特性 键是唯一的在键值对中每个键都是唯一的不能有重复的键。 值可以重复虽然键是唯一的但对应的值可以重复即多个键可以映射到相同的值。 例如在 map 容器中 mapstring, int myMap; myMap[apple] 10; // apple 是键10 是值 myMap[banana] 20; myMap[apple] 20; // 值可以被修改也可以重复01.map容器 map 是一种存储键值对的关联容器底层通过红黑树实现元素按照键进行排序其提供了高效的插入、删除和查找操作。 主要特性 键值对存储每个元素由一个键和一个值组成键通过某种排序规则存储且键是唯一的。 自动排序map 中的元素默认按照键的升序排序。可以使用自定义比较函数改变排序方式。 查找效率map 使用红黑树平衡二叉搜索树作为底层结构查找、插入和删除操作的时间复杂度为 O(log n)。 常用操作 1.插入元素通过下标运算符 [] 或 insert 方法插入键值对 mapstring, int myMap; myMap[apple] 10; // 插入键为 apple值为 10 的键值对 myMap.insert(make_pair(banana, 20)); // 使用 insert 插入键值对要明白下标运算符 [] 是如何完成插入操作的就要了解其底层逻辑下图是官方的说明 具体的说如果 myMap[ k ] 此时元素k的键已存在就会返回其对应的值的引用既可以查看也可以修改如果元素k的键不存在则会插入一个元素k的新键也会返回对应值的引用默认为0 2.查找元素使用 find 方法查找键对应的值返回指向键值对的迭代器如果找不到对应的键那么会返回一个指向 map 末尾的迭代器 map.end() auto it myMap.find(apple); if (it ! myMap.end()) {cout it-first : it-second endl; }3.删除元素使用 erase 方法删除指定键的元素 myMap.erase(apple);4.遍历元素可以通过迭代器遍历 map 中的所有键值对 for (const auto pair : myMap) {std::cout pair.first : pair.second std::endl; }主要用途 1.关联数组将一个键映射到一个值常用于模拟字典或关联数组。 2.统计频率可以用来统计元素出现的次数如统计单词的出现频率。 3.数据映射适合用于需要快速查找键值对应关系的场景比如用户 ID 与姓名的映射。 02.multimap容器  在 C 标准模板库STL中map 和 multimap 存储的是键值对key-value pairs但它们之间有显著的区别 键的唯一性 map键是唯一的每个键只能对应一个值。如果插入一个已经存在的键新值会替换旧值 multimap允许键重复即同一个键可以对应多个值。它适用于需要存储相同键的多个值的场景。 特性 multimap 适合用于存储一对多关系的数据。 键可重复multimap 中的键不必唯一同一个键可以对应多个值。 自动排序multimap 和 map 一样键默认是按升序自动排序的。 查找效率和 map 一样multimap 的查找、插入、删除操作的时间复杂度都是 O(log n)。 常用操作 1.插入操作使用 insert 方法插入键值对支持同一个键插入多个不同的值。 multimapstring, int myMultimap; myMultimap.insert(make_pair(apple, 10)); myMultimap.insert(make_pair(apple, 20)); // 允许相同键插入注意multimap 不能 使用 [] 运算符进行插入或访问。 这是因为 multimap 允许键重复而 [] 运算符需要确保键是唯一的。[] 在 map 中的行为是根据键查找对应的值如果键不存在就插入一个新的键值对并返回引用这种行为与 multimap 的多键特点冲突。 2.查找元素 a. 使用 find 查找第一个匹配的键。 b. 使用 equal_range 方法查找某个键对应的所有值返回一个范围pair of iterators。 auto range myMultimap.equal_range(apple); for (auto it range.first; it ! range.second; it) {cout it-first : it-second endl; }3.删除元素使用 erase 方法删除某个键的所有值或单个键值对 删除所有键值对: myMultimap.erase(apple); // 删除所有 apple 的键值对删除单个键值对通过迭代器遍历删除 auto it myMultimap.find(apple);for (; it ! myMultimap.end(); it) {if (it-second 20) {myMultimap.erase(it); // 通过迭代器删除该键值对break;}} 或者通过范围迭代删除特定键值对 // 获取 apple 键的范围auto range myMultimap.equal_range(apple);// 在范围内查找并删除值为 20 的键值对for (auto it range.first; it ! range.second; it) {if (it-second 20) {myMultimap.erase(it); // 通过迭代器删除break;}}4.遍历元素可以像遍历 map 一样遍历 multimap 中的所有键值对。 for (const auto pair : myMultimap) {std::cout pair.first : pair.second std::endl; }用途 1.一对多映射multimap 适合用于一对多的映射关系比如在存储课程和学生名单时一个课程可以有多个学生。 2.多重计数当需要统计多个相同键对应不同值的情况时multimap 是一种便捷的工具。 以上就是map和multimap的相关知识总结欢迎在评论区留言觉得这篇博客对你有帮助的可以点赞收藏关注支持一波~
http://www.w-s-a.com/news/860860/

相关文章:

  • 培训前端网站开发网站开发 群
  • 成都武侯区网站建设wordpress菜单分类目录
  • 牡丹江市西安区建设局网站给公司做的东西放到自己网站上
  • 做网站的前景如何郑州seo规则
  • 学校户网站建设方案专业设计服务
  • 电子商务网站建设好么有一个网站怎么做cpc
  • 镇海住房和建设交通局网站跨境电商就是忽悠人的
  • 维修网站怎么做跨境电商发展现状如何
  • 手机网站设计公司皆选亿企邦桐乡市建设局官方网站
  • 企业培训 电子商务网站建设 图片山东省住房和城乡建设厅网站主页
  • 做酒招代理的网站赣icp南昌网站建设
  • 怎样做网站內链大连市建设工程信息网官网
  • 网站软件免费下载安装泰安网站建设收费标准
  • 部署iis网站校园网站设计毕业设计
  • 网站快慢由什么决定塘沽手机网站建设
  • 苏州那家公司做网站比较好装修队做网站
  • 外贸网站推广中山网站流量团队
  • 网站前端设计培训做一份网站的步zou
  • 网站备案拍照茶叶网页设计素材
  • wordpress 手机商城模板关键词优化软件有哪些
  • 网站301做排名python做的网站如何部署
  • 昆山做企业网站工信部网站 备案
  • 做英文的小说网站有哪些网站做qq登录
  • 湖州建设局招投标网站深圳广告公司集中在哪里
  • 重庆主城推广网站建设商城网站建设预算
  • 宁波品牌网站推广优化公司开发公司工程部工作总结
  • 长沙建站模板微信网站建设方案
  • 不让网站在手机怎么做门户网站 模板之家
  • 网站建设及推广图片wordpress文章摘要调用
  • 手机版网站案例全国信息企业公示系统