关于map这个东西

 

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

 

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

 

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

 

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

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

 

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

 #include<cstdio>
#include<map>//用map所引用的库
#include<string>
#include<iostream> using namespace std; map<int,int> ma;//声明map 两个int分别为数组下标类型和数组元素类型,ma为变量名 map<long long,int> gg;//数组的下标类型改为long long map<int,double> h;//数组元素类型改为double string s;//c++语言中定义字符串 map<string,int> smap;//map的鬼畜用法,可以用来字符串的处理 map<int, map<int,int> > erwei;//如果要定义一个二维的map,则需要用map中嵌套一个map,记住格式 int main()//logn
{
cin >> s; cout << s << endl;//注意定义string后进行操作,只能用cin和cout输入输出 smap["niubi"] = ;//这就是字符串的骚操作,可以用来字符串的处理
smap[s] = ;//下标字符串也可以通过输入的方式进行存储 ma[] = ;//注意下标数据不要超过int类型的边界
ma[-] = ;//即使负数也可 h[] =3.14;//注意因为它定义的元素类型为double(见12行),所以可以用浮点值进行赋值 erwei[][] = ;//定义的二维map
return ;
}

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

首先,map要比数组慢很多,所以一般能用数组不用map:
对map中的元素进行访问或者修改的时间复杂度为O(logn),而对于数组,时间复杂度为O(1)

 

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

 

对于map的使用,只有两种情况可以使用
1.字符串作为数组下标
2.需要使用无穷大的数组(在数组开不了的情况下,且一般很少情况)

最新文章

  1. Floyed判环/龟兔算法
  2. Orcle基本语句(五)
  3. Linux Hackers/Suspicious Account Detection
  4. iOS 常用英语翻译
  5. Spring MVC 读取静态资源时404错误
  6. Install the 64bit library in Ubuntu13.10
  7. 用Ogre实现《天龙八部》场景中水面(TerrainLiquid)详解
  8. 阿里云OSS上传图片,并使用图片服务裁切
  9. JDBC基础二
  10. C# 添加系统计划任务方案
  11. 21. DNS 配置和端口检测
  12. 清北学堂入学测试P4751 H’s problem(h)
  13. HDU 1251 统计难题(字典树计算前缀数量)
  14. 实现sticky footer的五种方法
  15. Redis开启远程登录连接。
  16. BZOJ_1823_[JSOI2010]满汉全席_2-sat+tarjan
  17. leetcode — construct-binary-tree-from-inorder-and-postorder-traversal
  18. Visual Studio安装SVN插件
  19. AX_InventDim
  20. 线程安全-005-synchronized其他概念

热门文章

  1. pandas 学习 —— pivot table
  2. C语言小程序(四)、杨辉三角
  3. Agc011_C Squared Graph
  4. 集合划分状压dp
  5. 省选/NOI刷题Day2
  6. Gym - 100570B :ShortestPath Query(SPFA及其优化)
  7. ie11
  8. n文件的上传和下载,struts2和springmvc
  9. [MySQL]关于Com_状态
  10. KMeans的数据压缩