#include <iostream>
#include <map>
using namespace std;
int main()
{
//生命一个map,以int为键值,string为实值
map<int,string>mymap;
//单个赋值
mymap[int(0)]="你好map";
//群体赋值
string x;
for (int i = 1; i < 5; i++)
{
cin >> x;
pair<int, string> value(i, x);
mymap.insert(value);
}
//遍历map并且输出
map<int, string>::iterator iter;//定义迭代器iter
for (iter=mymap.begin(); iter != mymap.end(); iter++)
{
cout<<iter->first<<" "<<iter->second<<endl;//输出
}
//查找数据,如果map是map<string,int>类型,要找数据应为mymap.find(string("asd"));
map<int, string>::iterator iter1;
int q;cin>>q;//q为要查找的键值
iter1=mymap.find(3);//寻找键值为3的元素
if (iter1 != mymap.end())
{
cout<<"找到3其值为:"<<iter1->second<<endl;
}
else
{
cout<<"没有找到3"<<endl;
}
//修改实值,键值不可修改
iter1->second = "nihao";
string test1 = mymap[2];
cout<<test1<<endl;
//删除元素
mymap.erase(iter1);//删除一个条目
mymap.erase(3);//根据键值删除
//map大小
int length=mymap.size();
//清空map
mymap.clear();
//指定元素出现的次数
mymap.count(2);
}
begin() 返回指向map头部的迭代器
end() 返回指向map末尾的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
erase() 删除一个元素
find() 查找一个元素
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
size() 返回map中元素的个数