C++ map使用
来源:互联网 发布:数据 陈中源 编辑:程序博客网 时间:2024/06/05 15:36
C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。 一、map的说明 1 头文件 #include <map> 2 定义 map<string, int> my_Map; 或者是typedef map<string, int> MY_MAP; MY_MAP my_Map; 3 插入数据 (1) my_Map["a"] = 1; (2) my_Map.insert(map<string, int>::value_type("b",2)); (3) my_Map.insert(pair<string,int>("c",3)); (4) my_Map.insert(make_pair<string,int>("d",4)); 4 查找数据和修改数据 (1) int i = my_Map["a"]; my_Map["a"] = i; (2) MY_MAP::iterator my_Itr; my_Itr.find("b"); int j = my_Itr->second; my_Itr->second = j; 不过注意,键本身是不能被修改的,除非删除。 5 删除数据 (1) my_Map.erase(my_Itr); (2) my_Map.erase("c"); 还是注意,第一种情况在迭代期间是不能被删除的,道理和foreach时不能删除元素一样。 6 迭代数据 for (my_Itr=my_Map.begin(); my_Itr!=my_Map.end(); ++my_Itr) {} 7 其它方法 my_Map.size() 返回元素数目 my_Map.empty() 判断是否为空 my_Map.clear() 清空所有元素 可以直接进行赋值和比较:=, >, >=, <, <=, != 等等
void test_map(){ map<string,itemS> m; string str[4]={"1st","2nd","3rd","4th"}; for(int i=0;i<4;i++){ m.insert(make_pair(str[i],s[i])); } map<string,itemS>::iterator it; for(it=m.begin();it!=m.end();it++){ if(it->second.a>100){ it=m.erase(it); } } for(it=m.begin();it!=m.end();it++){ cout<<it->first<<" "<<it->second.a<<" "<<it->second.b<<endl; }}
void test_map2(){ map<const char*,int> m; m["a"]=1; m["b"]=6; m["c"]=9; map<const char*,int>::iterator it; it=m.begin(); const char* c =it->first; cout<<"first element is :"<<c<<endl; int i = m["c"]; while(it!=m.end()){ cout << it->first<<";"<<it->second<<endl; ++it; } cout <<"m[\"c\"]="<<i<<endl; cout <<"sizeof m:"<<m.size()<<endl; cout <<"erase m[\"c\"](1:succ 0:failed):"<<m.erase("c")<<endl; cout <<"erase m[\"c\"]:"<<m.erase("c")<<endl; cout <<"sizeof m:"<<m.size()<<endl; cout<<"m[c]="<<m["c"]<<endl; cout<<"sizeof m :"<<m.size()<<endl;}
阅读全文
0 0
- 【C++】map的使用
- c++map使用总结
- 【学习C++】Map使用
- 【语言-c++】map的使用
- [C++][STL][map]C++ map的基本操作和使用
- C++map的使用总结及常用map操作
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- 20170713
- 如何拆分你的微服务架构?
- Ajax技术---Ajax技术原理,自己写一个Ajax
- reids centos7 安装
- Maven的pom.xml文件结构之基本配置parent和继承结构
- C++ map使用
- 并发与并行区别
- OpenCV学习(二、写视频)
- Java并发编程总结
- UVScolling 效果
- JDBC基础
- POJ 3064 Payment System 笔记
- 脑洞:做出这样的机器人简直人生赢家
- 栈和队列常用函数详解