博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于map 及 map 骚操作
阅读量:6848 次
发布时间:2019-06-26

本文共 1206 字,大约阅读时间需要 4 分钟。

关于map这个东西

 

很冷门..................

 

但是,这个博客带你稍微了解一下map:

 

map用法:一般当作一个下表无穷大的数组

 

关于它的骚操作:map的鬼畜用法,可以用来字符串的处理。因为map的下标可以定义为字符串形式,这是map最好用的地方

(下面的代码中会讲)....

 

上代码!!!(代码后有它的缺点以及其复杂度分析,注意查收)

 

1 #include
2 #include
//用map所引用的库 3 #include
4 #include
5 6 using namespace std; 7 8 map
ma;//声明map 两个int分别为数组下标类型和数组元素类型,ma为变量名 9 10 map
gg;//数组的下标类型改为long long 11 12 map
h;//数组元素类型改为double 13 14 string s;//c++语言中定义字符串 15 16 map
smap;//map的鬼畜用法,可以用来字符串的处理 17 18 map
> erwei;//如果要定义一个二维的map,则需要用map中嵌套一个map,记住格式 19 20 int main()//logn21 {22 cin >> s; cout << s << endl;//注意定义string后进行操作,只能用cin和cout输入输出 23 24 smap["niubi"] = 233;//这就是字符串的骚操作,可以用来字符串的处理 25 smap[s] = 345678;//下标字符串也可以通过输入的方式进行存储 26 27 ma[2147483647] = 233;//注意下标数据不要超过int类型的边界 28 ma[-12345678] = 333;//即使负数也可 29 30 h[0] =3.14;//注意因为它定义的元素类型为double(见12行),所以可以用浮点值进行赋值 31 32 erwei[23][32] = 233;//定义的二维map 33 return 0;34 }

为什么map这样冷门??!!

首先,map要比数组慢很多,所以一般能用数组不用map:

对map中的元素进行访问或者修改的时间复杂度为O(logn),而对于数组,时间复杂度为O(1)

 

那在何种情况下使用map??!!

 

对于map的使用,只有两种情况可以使用

1.字符串作为数组下标
2.需要使用无穷大的数组(在数组开不了的情况下,且一般很少情况)

转载于:https://www.cnblogs.com/New-ljx/p/10341587.html

你可能感兴趣的文章
Flutter Web - 目标全平台开发的Flutter再下一城!
查看>>
Nginx代理Tomcat
查看>>
Apache与Tomcat的区别
查看>>
mysql—Access denied for user 'root'@'localhost' (using password:NO)
查看>>
hibernate 懒加载异常
查看>>
python3的zip函数
查看>>
《Git权威指南》读书笔记 第四章 git初始化
查看>>
《Head first HTML与CSS 第二版》读书笔记 第九章 盒模型
查看>>
《Python面向对象……》之目录
查看>>
集群入门简析及LB下LVS详解
查看>>
Linux与GPT
查看>>
管理或技术
查看>>
分配到弱属性;对象将在赋值之后释放
查看>>
java作用域public ,private ,protected 及不写时的区别
查看>>
until循环语句
查看>>
Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现
查看>>
提高用户体验方式:饥饿营销
查看>>
Java8中的LocalDateTime工具类
查看>>
Exchange 2013 PowerShell创建自定义对象
查看>>
RAID-10 阵列的创建(软)
查看>>