// Map.cpp : 定义控制台应用程序的入口点。
//map 实现一对一的映射,第一个为key,第二个为value,key 不可重复
//VS2010编译通过
#include "stdafx.h"
//#pragma warning(disable:4786) //vc++编译器要屏蔽此警告
#include <stdlib.h>
#include <map>
#include <string>
#include <iostream>
using namespace std;
int main()
{
map<int, string> mapStudent;
mapStudent.insert(pair<int, string>(1, "张三"));
mapStudent.insert(pair<int, string>(2, "李四"));
mapStudent.insert(pair<int, string>(3, "王五"));
map<int, string>::iterator iter;
for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++)
{
cout<<iter->first<<" "<<iter->second<<endl;
}
cout<<"---------enter find---------------"<<endl<<endl;
iter=mapStudent.find(1);
if (iter!=mapStudent.end())
{
cout<<"success to find index "<<iter->first<<" "<<iter->second<<endl<<endl;
}
cout<<"--------enter erase----------------"<<endl<<endl;
mapStudent.erase(iter);
for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++)
{
cout<<iter->first<<" "<<iter->second<<endl;
}
cout<<"-------enter clear--------------------"<<endl<<endl;
mapStudent.clear();
for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++)
{
cout<<iter->first<<" "<<iter->second<<endl;
}
cout<<"-------insert new values--------------"<<endl<<endl;
map<int ,string> mapNew;
mapNew.insert(pair<int ,string>(1,"张三"));
mapNew.insert(pair<int ,string>(2,"李四"));
mapNew.insert(pair<int ,string>(3,"王五"));
int l_nSize=mapNew.size();
for (int nIndex=1;nIndex<=l_nSize;nIndex++)
{
cout<<mapNew[nIndex]<<endl;
}
system("pause");
}