map是一类关联式容器,它是模板类。map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值
//map的定义
(1)map<int,string>m;
(2)typedef map<int,string> MAP;
MAP m;
//插入元素
(1)m.insert(pair<string,int>("c",1));
(2)m["c"]=1;
(3)m.insert(make_pair<string,int>("c",1));
(4)m.insert(map<string,int>::value_type("b",2));
map<int ,string> maplive;
1.maplive.insert(pair<int,string>(102,"aclive"));
2.maplive.insert(map<int,string>::value_type(321,"hai"));
3, maplive[112]="April";//map中最简单最常用的插入添加!
//元素查找
map.count(k) : 返回map中键k的出现次数(对于map而言,由于一个key对应一个value,因此返回只有0和1,因此可以用此函数判断k是否在map中)
map.find(k) : 返回map中指向键k的迭代器,如果不存在键k,则返回超出末端迭代器。
map<int ,string >::iterator l_it;;
l_it=maplive.find(112);
if(l_it==maplive.end()) cout<<"NO"<<endl;
// 删除数据
(1) m.erase(my_Itr);
(2) m.erase("c");
//交换。Map中的swap不是一个容器中的元素交换,而是两个容器交换;
my_Map.size() 返回元素数目
my_Map.empty() 判断是否为空
my_Map.clear() 清空所有元素
//map的定义
(1)map<int,string>m;
(2)typedef map<int,string> MAP;
MAP m;
//插入元素
(1)m.insert(pair<string,int>("c",1));
(2)m["c"]=1;
(3)m.insert(make_pair<string,int>("c",1));
(4)m.insert(map<string,int>::value_type("b",2));
map<int ,string> maplive;
1.maplive.insert(pair<int,string>(102,"aclive"));
2.maplive.insert(map<int,string>::value_type(321,"hai"));
3, maplive[112]="April";//map中最简单最常用的插入添加!
//元素查找
map.count(k) : 返回map中键k的出现次数(对于map而言,由于一个key对应一个value,因此返回只有0和1,因此可以用此函数判断k是否在map中)
map.find(k) : 返回map中指向键k的迭代器,如果不存在键k,则返回超出末端迭代器。
map<int ,string >::iterator l_it;;
l_it=maplive.find(112);
if(l_it==maplive.end()) cout<<"NO"<<endl;
// 删除数据
(1) m.erase(my_Itr);
(2) m.erase("c");
//交换。Map中的swap不是一个容器中的元素交换,而是两个容器交换;
my_Map.size() 返回元素数目
my_Map.empty() 判断是否为空
my_Map.clear() 清空所有元素