C++ STL map

一.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 }

猜你喜欢

转载自www.cnblogs.com/wkfvawl/p/9138342.html