c++map梳理

其实我学map有半年了,用的也不少,也会在文章中提提,但总没有系统整理过,也没看过系统的文章。那今天就写写,顺便一提,我实在没法找到日更话题了。


一、简介

map是STL的一个关联容器。

第一个可以称为关键字(key),每个关键字只能在map中出现一次;

第二个称为该关键字的值(value)。

Map主要用于资料一对一映射(one-to-one)的情況。


二、定义

map有他单独的头文件——#include<map>

再声明一下:一般用 map<类型,类型> m;

第一个类型,是称为关键字类型,而第二个是值得类型。知道关键字,就可以求出它对应的值,就像知道学号可以查找出名字一样。

比如说:

map<string,int> msi;//可以把它想成——知名字,求学号

map<int,int> mii;//可以把它想成——知学号,求身高

map<char,int> mci;//可以把它想成——知字符,求ascii值

map<string,double> msd;//可以把它想成——知名字,求成绩

……


3.插入

这里只讲最容易的——利用关键字插入,可以把它想成数组利用下标,放置数值。

如——

(1)int-string型,int为关键字。

map[1]="xiaoming";

map[10]="wanghong";

(2) int-int型。

map[1]=95;

map[3]=10;//如果是成绩的话,这家伙,严重不及格hhh

(3)还有很多,我不细说了。如:

char-string型。

int-double型。

char-int型。

string-string型。

反正我都用过,比较常用的。


三、常用函数

常用的就这些:

begin()      //返回指向map头部的迭代器

end()         //返回指向map尾部的迭代器

clear()       //删除所有元素

empty()     //如果map为空则返回true

erase()      //删除一个元素

find()         //查找一个元素

size()        //返回map中元素的个数

swap()      //交换两个map

insert()      //插入元素


map也就说到这,它的优点是:省空间、查找快,不想数组一样,有一定的类型、数量上的局限性。而且使用方便,就是一个不错的stl。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容