map:键值保存,高效访问
通过键值来排序,通过键值来查找
高效访问:1000个数据只要查找1-10次,100万个数据只要1-20次就可以查找到。
2^n > 数据总数即可
可以看得出map对处理大数据有用
插入效率低于链表,因为涉及到排序。
map的应用:红黑树——一种平衡排序二叉树
1.map的构造函数
(1)无参构造:
map<int,char> mp;//<键值,实值>,因为要排序,所以要合理选取键值的类型。
(2)一个参数:用一个map给另个map初始化
map<int,char> mp2(mp1);
(3)用另个map中的一段对当前map进行初始化
map<int,char> mp3(mp2.begin(),mp2.end());//要想要中间的,进行++,- -
2.插入操作
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
void fun(pair<int,char> pr)
{
cout<<" "<<pr.first<<" "<<pr.second<<endl;
}
void MapConstruct()
{
typedef pair<int,char> in_pair;//重命名,方便输入
map<int ,char> mp;
第一种插入方式
mp.insert(in_pair(1,'a'));
mp.insert(