关于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.需要使用无穷大的数组(在数组开不了的情况下,且一般很少情况)

关于map 及 map 骚操作的更多相关文章

  1. Guava中这些Map的骚操作,让我的代码量减少了50%

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. Guava是google公司开发的一款Java类库扩展工具包,内含了丰富的API,涵盖了集合.缓存.并发.I/O等多个方面.使用这些API一方面 ...

  2. C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET

    C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...

  3. scala之map,List,:: , +:, :+, :::, +++操作

    scala之map,List操作 1.Map操作 2.List操作 2.1Demo1 2.2Demo2 3.:: , +:, :+, :::, +++ 1.Map操作 Map(映射)是一种可迭代的键值 ...

  4. 闪电侠 Netty 小册里的骚操作

    前言 即使这是一本小册,但基于"不提笔不读书"的理念,仍然有必要总结一下.此小册对于那些"硬杠 Netty 源码 却不曾在千万级生产环境上使用实操"的用户非常有 ...

  5. 通过HTTP的HEADER完成各种骚操作

    作为一名专业的切图工程师,我从来不care网页的header,最多关心Status Code是不是200.但是HEADER真的很重要啊,客户端从服务器端获取内容,首先就是通过HEADER进行各种沟通! ...

  6. python20个骚操作

    Python小白需要知道的 20 个骚操作! Python 是一个解释型语言,可读性与易用性让它越来越热门.正如 Python 之禅中所述: 优美胜于丑陋,明了胜于晦涩. 在你的日常编码中,以下技巧可 ...

  7. Java 12 骚操作, String居然还能这样玩!

    Java 13 都快要来了,12必须跟栈长学起! Java 13 即将发布,新特性必须抢先看! 栈长之前在Java技术栈微信公众号分享过<Java 11 已发布,String 还能这样玩!> ...

  8. Python小白需要知道的 20 个骚操作!

    Python小白需要知道的 20 个骚操作! Python 是一个解释型语言,可读性与易用性让它越来越热门.正如 Python 之禅中所述: 优美胜于丑陋,明了胜于晦涩. 在你的日常编码中,以下技巧可 ...

  9. vue开发中的"骚操作"

    前言 在与同事协作开发的过程中,见识到了不少"骚操作".因为之前都没用过,所以我愿称之为"高级技巧"! Vue.extend 在交互过程中,有个需求就是点击图标 ...

随机推荐

  1. tensorflow训练验证码识别模型

    tensorflow训练验证码识别模型的样本可以使用captcha生成,captcha在linux中的安装也很简单: pip install captcha 生成验证码: # -*- coding: ...

  2. python实现无序列表:链表

    介绍链表前我们先了解下什么是列表. 在对基本数据结构的讨论中,我们使用 Python 列表来实现所呈现的抽象数据类型.列表是一个强大但简单的收集机制,为程序员提供了各种各样的操作.然而,不是所有的编程 ...

  3. 【原创】C++实现获取本机机器名及外网IP代码

    上代码: #include "stdafx.h" #include <WINSOCK2.H> #include <urlmon.h> #pragma com ...

  4. bzoj 3514: GERALD07加强版 lct+可持久化线段树

    题目大意: N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数. 题解: 这道题考试的时候没想出来 于是便爆炸了 结果今天下午拿出昨天准备的题表准备做题的时候 题表里就有这题 ...

  5. 发布django 程序

    1.配置需求环境 pip freeze > requirements.txt 在开发环境将工程依赖的包导出. pip install virtualenv pip install virtual ...

  6. tiny4412sdk-1506原生uboot卡死

    于16年2月多购买了tiny4412sdk-1506,用友善之臂(以下简称友善)的superboot是可以进入linux,而用三星原始的uboot_tiny4412-20130729则不可以.出现现象 ...

  7. 安装phpredis

    1.下载安装包 https://github.com/nicolasff/phpredis/archive/2.2.5.tar.gz 2.解压到~目录 tar -xvf phpredis-2.2.5. ...

  8. CRT Library Features

    CRT Library Features The new home for Visual Studio documentation is Visual Studio 2017 Documentatio ...

  9. github 分支操作

    1.查看分支 1.查看本地分支 使用git branch命令,如下: $ git branch * master *标识的是你当前所在的分支. 2.查看远程分支 命令如下: git branch -r ...

  10. 31、SAM文件中flag含义解释工具--转载

    转载:http://www.cnblogs.com/nkwy2012/p/6362996.html  SAM是Sequence Alignment/Map 的缩写.像bwa等软件序列比对结果都会输出这 ...