map:map是c++的一个标准容器,map中的元素和关键字是分开的,map是以关键字来排序,在map容器中关键字是唯一的,不能重复。
map容器既可以用insert插入数据,也可以用数组的方式插入数据,且数组的下标相当于容器的关键字。
使用map容器要包括#include<map>头文件。
map的定义:
map<(关键字)int,(元素)int>a;
map的应用:
#include<map>
void main()
{
map<int,int>a;
a[1]=33; //input element in an array
a[6]=88;
a[2]=22;
a[3]=55;
a[0]=77;
a.insert(map<int,int>::value_type(4,11)); //insert value_type data
a.insert (pair<int,int>(7,66)); //insert pair data
map<int,int>::iterator t;
for(t=a.begin();t!=a.end();t++)
{
cout<<(*t).first<<" ";
cout<<(*t).second<<endl;
}
cout<<endl;
for(int i=0;i<a.size ();i++) //output data in an array
{
cout<<a[i]<<" ";
}
system("pause");
}
multimap:
multimap和map容器不同的地方在于:
1. multimap容器不能使用数组的方式来输入和输出。
2. multimap容器关键字能够重复,而map容器不能。
使用multimap容器也要包括#include<map>头文件。
multimap的定义:
multimap<(关键字)int,(元素)int>a;
multimap的应用:
#include<map>
void main()
{
multimap<int,int>a;
a.insert(map<int,int>::value_type (2,33)); //insert data
a.insert(map<int,int>::value_type(4,11));
a.insert(map<int,int>::value_type(5,55));
a.insert(map<int,int>::value_type(5,77));
a.insert(map<int,int>::value_type(8,99));
a.insert (pair<int,int>(7,66));
multimap<int,int>::iterator t;
for(t=a.begin();t!=a.end();t++)
{
cout<<(*t).first<<" ";
cout<<(*t).second<<endl;
}
system("pause");
}