#include<iostream>
using namespace std;
#include<map>
//map中所有元素都是pair
//pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)
//所有元素都会根据元素的键值key自动排序
//本质:map/multimap属于关联式容器,底层结构是用二叉树实现
//优点:可以根据key值快速找到value值
//map和multimap区别:
//map中不允许容器中有重复key值元素
//multimap允许容器中有重复key元素
//构造:
//map<T1, T2> mp;默认构造函数
//map(const map& mp);拷贝构造函数
//赋值
//map& operator=(const map& mp);重载=
void PrintMap(map<int, int> mp)
{
for (map<int, int>::iterator it = mp.begin(); it != mp.end(); it++)
{
cout << "key:" << it->first << "\t"
<< "value:" << it->second << endl;
}
}
void test0101()
{
map<int, int> mp;
mp.insert(pair<int, int>(1, 10));//匿名对组添加到mp中
mp.insert(pair<int, int>(3, 20));
mp.insert(pair<int, int>(2, 30));
mp.insert(pair<int, int>(4, 40));
PrintMap(mp);
map<int, int> mp1(mp);//拷贝构造
PrintMap(mp1);
map<int, int> mp2;
mp2 = mp;//重载=
PrintMap(mp2);
}
int main()
{
test0101();
system("pause");
return 0;
}
网友评论