一.map简介
map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。
对于迭代器来说,可以修改实值,而不能修改key。可以类比Python中的字典,键值对的方式。Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。
二.定义方法
1 #include<map>
2 Map<int ,string0>mapStudent;///定义一个int作为索引,并拥有相关联的指向string的指针
三,常用操作
1 begin() 返回指向map头部的迭代器 2 clear() 删除所有元素 3 count() 返回指定元素出现的次数 4 empty() 如果map为空则返回true 5 end() 返回指向map末尾的迭代器 6 erase() 删除一个元素 7 find() 查找一个元素 8 insert() 插入元素 9 max_size() 返回可以容纳的最大元素个数 10 size() 返回map中元素的个数 11 swap() 交换两个map
四.例子
1 #include<stdio.h> 2 #include<map> 3 using namespace std; 4 int main() 5 { 6 map<char,int> a;//定义map函数 7 a.insert(map<char,int>::value_type('c',1));//插入元素 8 a.insert(map<char,int>::value_type('d',2)); 9 map<char,int>::iterator b=a.find('c');//查找元素 10 a. clear();//删除所有元素 11 return 0; 12 }