16.9.1【map容器的基本概念、构造和赋值】
1 #include<iostream> 2 #include<cstdlib> 3 using namespace std; 4 #include<map> 5 6 7 /* 8 3.9 map/multimap容器 9 10 3.9.1 map基本概念 11 12 简介: 13 map中所有元素都是pair 14 pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值) 15 所有元素都会根据元素的键值key自动排序 16 17 本质: 18 map/multimap属于关联式容器,底层结构是用二叉树实现。 19 20 优点: 21 可以根据key值快速找到value值 22 23 map和multimap区别: 24 map不允许容器中有重复key值元素 25 multimap允许容器中有重复key值元素 26 27 28 3.9.2 map构造和赋值 29 30 构造: 31 map<T1, T2> mp; //map默认构造函数: 32 map(const map &mp); //拷贝构造函数 33 34 赋值: 35 map& operator=(const map &mp); //重载等号操作符 36 */ 37 38 39 void print_map(const map<int, int> & m) 40 { 41 for(map<int, int>::const_iterator cit=m.begin(); cit!=m.end(); cit++) 42 { 43 cout << "key=" << (*cit).first << " value=" << cit->second << endl; 44 } 45 cout << endl; 46 } 47 48 49 void test392() 50 { 51 map<int, int> m; //more构造 52 53 m.insert(pair<int, int> (1, 50)); //匿名对组 54 m.insert(pair<int, int> (2, 40)); 55 m.insert(pair<int, int> (4, 20)); 56 m.insert(pair<int, int> (5, 10)); 57 m.insert(pair<int, int> (3, 30)); 58 59 print_map(m); //插入数据时默认根据key自动实现升序排序 60 61 map<int, int> m2(m); //拷贝构造 62 print_map(m2); 63 64 map<int, int> m3; 65 m3 = m2; //赋值 66 print_map(m3); 67 } 68 69 70 int main() 71 { 72 test392(); 73 74 system("pause"); 75 return 0; 76 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!