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

网站建设外包 源代码施工企业发电机加油怎么做账

网站建设外包 源代码,施工企业发电机加油怎么做账,网上投诉平台,盘锦网站开发一、容器基础特性 1. map核心特征 关联容器:键值对存储(key-value)唯一键:每个key唯一存在自动排序:按key升序排列(默认) 2. multimap特殊性质 允许重复键:同一key可对应多个值分…

一、容器基础特性

1. map核心特征

  • 关联容器:键值对存储(key-value
  • 唯一键:每个key唯一存在
  • 自动排序:按key升序排列(默认)

2. multimap特殊性质

  • 允许重复键:同一key可对应多个值
  • 分组存储:相同key的元素连续存放
  • 迭代器稳定性:插入/删除不影响已有元素位置
// 典型声明方式
map<int, string> mapStu;           // 唯一键容器
multimap<int, string> mumapTeacher; // 允许重复键

二、基础查找操作

1. find()方法

// map 查找示例
map<int, string>::iterator it = mapStu.find(3);
if (it != mapStu.end()) {  // 检查end()cout << "找到元素: " << it->second; 
}// multimap 查找相同键
multimap<int, string>::iterator mit = mumapTeacher.find(2022);
特性mapmultimap
返回结果单个迭代器首个匹配迭代器
空查找处理返回end()返回end()

2. count()方法

int num = mumapTeacher.count(2022);  // 统计key出现次数
cout << "2022班级教师数量: " << num;
容器返回值范围典型用途
map0或1存在性判断
multimap0到N获取重复元素数量

三、完整代码解析

#include <iostream>
#include <map>using namespace std;int main() {// map 基础操作map<int, string> mapStu;mapStu.insert(pair<int, string>(3, "李小龙"));mapStu.insert(pair<int, string>(1, "张华"));  // 自动排序mapStu.insert(pair<int, string>(4, "庞平"));mapStu.insert(pair<int, string>(2, "任敏"));// map查找演示map<int, string>::iterator it = mapStu.find(3);if (it != mapStu.end()) {cout << "mapStu.find(3) = " << it->second << endl;  // ✅ 正确访问方式}// multimap 操作multimap<int, string> mumapTeacher;mumapTeacher.insert(make_pair(2022, "江雪"));    // ✅ 推荐使用make_pairmumapTeacher.insert({2022, "薛铃木"});           // C++11初始化列表mumapTeacher.emplace(2023, "林一徹");            // ✅ 高效构造方式mumapTeacher.emplace(2023, "张栗"));// multimap查找方法int count = mumapTeacher.count(2022);multimap<int, string>::iterator mit = mumapTeacher.find(2022);// 方法1:键值判断法for(; mit != mumapTeacher.end(); ++mit) {if(mit->first != 2022) break;  // ✅ 安全终止条件cout << mit->second << endl;}// 方法2:计数控制法/*for(int i=0; i<count; ++i, ++mit) {  // ⚠️ 需确保迭代器有效cout << mit->second << endl;}*/// equal_range 高级查找auto range = mumapTeacher.equal_range(2022);  // C++11自动类型推导for(auto it = range.first; it != range.second; ++it) {cout << "老师: " << it->second << endl;}// 遍历输出for(const auto& elem : mapStu) {  // ✅ C++11范围forcout << "Key: " << elem.first << ", Value: " << elem.second << endl;}system("pause");return 0;
}

四、高级查找技巧

1. equal_range()方法

// 返回包含两个迭代器的pair
auto result = mumapTeacher.equal_range(2023);// 遍历结果范围
for(auto it = result.first; it != result.second; ++it){cout << it->second << endl;
}
返回值成员说明
first指向第一个匹配元素的迭代器
second指向最后一个匹配元素的下个位置

2. 边界安全处理

if(result.first != mumapTeacher.end()) {// 安全处理第一个元素
}if(result.second != mumapTeacher.end()) {// 注意:second可能指向end()
}

五、关键差异对比

特性mapmultimap
键唯一性
operator[]支持不支持
插入方式insert/emplaceinsert/emplace
查找结果单个元素元素范围
典型应用场景字典、配置项分组数据、一对多关系

六、性能优化建议

  1. 插入优化

    • 预排序数据使用hint插入
    mapStu.insert(mapStu.end(), {5, "王强"});  // 提示插入位置
    
  2. 查找优化

    • 对排序数据使用lower_bound()/upper_bound()
    auto low = mapStu.lower_bound(2);
    auto high = mapStu.upper_bound(4);
    
  3. 内存管理

    • 大量数据时优先使用unordered_map(需要哈希支持)

七、常见错误规避

  1. 未检查迭代器有效性

    // 错误示例
    cout << mapStu.find(99)->second;  // ❌ 可能访问end()// 正确做法
    if(auto it = mapStu.find(99); it != mapStu.end()){cout << it->second;
    }
    
  2. 误用operator[]

    // multimap不支持[]
    // mumapTeacher[2022] = "test";  // ❌ 编译错误
    
  3. 错误遍历方式

    // 错误跳过元素
    for(auto it=mit; it!=mumapTeacher.end(); it+=count){...}// 正确应使用equal_range
    
http://www.dtcms.com/wzjs/781893.html

相关文章:

  • 洛阳制作网站的公司哪家好wordpress+4.2.1
  • 网上提供免费主页空间的网站网络工程师培训学校
  • 公司网站作用面包店网站建设论文
  • 徐州做网站哪家好wordpress菜单新连接
  • 网站建设中排名掉了什么是 网站收录
  • 国外的旅游网站做的如何软件项目管理流程图
  • 北京网站推广排名外包珠海网站制作哪家好
  • 郏县建设局网站网页小游戏免费
  • 东莞免费网站制作新建wordpress模板
  • 做网站标配办公空间设计说明范文
  • 深圳网站建设定制手机网站最小宽度
  • 手机网站快速建站免费推荐大全app下载
  • 郑州做网站 汉狮网络沧州百胜
  • 成都网站设计公h5app开发
  • 网站 用户登陆 模板做电商网站的流程
  • 系统网站品质好物推荐
  • 长沙做网站开发多少钱不懂网站怎么做平台
  • 西宁网站托管网站营销策划
  • 网站搭建图片郑州新闻发布会最新消息今天视频
  • 网站建设案列四川工程造价信息网官网
  • 国外企业网站建设网络广告类型有哪几种
  • 外贸人常用网站wordpress模板编辑首页
  • php 读取网站文件便宜的购物网站排名
  • 湖北专业网站建设市面价百度seo引流怎么做
  • 怎么做直播网站的超管广州网站建设广州网络推广公司好
  • 做网站销售好不好企业网站设计请示
  • 网站建设先进工作者软件制作助手
  • 沈阳网站定制开发apple官网登录入口
  • 模板做网站优缺点网站小白怎么开始学网站建设
  • 网站建站分辨率环保部网站官网建设项目审批