我是靠谱客的博主 无私舞蹈,最近开发中收集的这篇文章主要介绍map简单使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

刷题遇到好多时候都在使用map,索性今天就整理一下.
vector是向量,那map是什么呢?map翻译为映射.
比如定义一个数组,int a[10],就是定义了一个int 到 int 的映射.所以,看到局限性了吧,用数组定义,映射关系确定,都是从int类型映射到其他类型,那别的需求怎么办?我想要从string映射到int,用数组是没法实现了,由此,map出现了.

map定义

map<key,value> mp;//< >里面两个类型,第一个是key,第二个value
map<string int> mp;//这样就建立了从string到int的映射
map<set<int> string>//map的key和value也可以是stl容器

注意:如果是字符串到整型的映射,必须使用string而不能使用char数组,因为数组不能做键值

map元素访问:

跟vector一样呀,分下标访问和迭代器访问
(1)下标访问:
直接map[key]就可以了,和数组类似,不过由int变成了key的类型
(2)迭代器访问
map的迭代器访问和vector略有不同,因为map的这个迭代器it必须要能同时访问到key和value呀,所以:

it->first;//访问key
it->second;//访问value

 

注意:map是有序的!!!map是有序的!!!map是有序的!!!
map内部是使用红黑树实现的(set也是)所以在建立映射的过程中会对你设置的key从小到大排序.

map常用函数:

map的常用函数感觉和vector的没什么不同.简单介绍一下

这三个和vector一样,无非vector是对元素操作,map是对元素对操作
1.size()函数
2.clear()函数
3.erase()函数

有一个find()函数需要注意一下:
4.find()
map中的find()和string中的find()函数别弄混了哦.不过都是查找,稍微注意一下区别还是可以的.
在用map的find()函数的时候,不要查找不存在的key,否则会出现意想不到的错误,查询之前先判断.
而对于string中的find()就不用考虑这么多了,如果查不到就会返回string::npos.

最后

以上就是无私舞蹈为你收集整理的map简单使用的全部内容,希望文章能够帮你解决map简单使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部