1、map简介

map是一种关联式容器,主要用于对数据一对一的映射。

2、map的构造

(1)头文件:#include<map>

(2)定义:map<第一关键字,第二关键字> 名字

    如:map<int,string> a       //左边为关键字key ,右边为映射的内容

3、map的基本操作

find()    //查找一个元素

insert()    //插入一个元素

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

swap()    //交换两个map

clear()    //删除所有元素

empty()    //map为空返回true

erase()    //删除一个元素

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

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

rend()    //返回一个指向map头部的逆向迭代器

rbegin()    //返回一个指向map尾部的逆向迭代器

equal_range()    //返回特殊条目的迭代器对

upper_bound()    //返回键值>给定元素的第一个位置

value_comp()    //返回比较元素value的函数

4、map的迭代器

map<string,int> mp;

map<string,int>::iterator it;

it = mp.begin();

while(it != mp.end() )
{
it++;
}

5、map的应用(编程实例)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1004

#include<bits/stdc++.h>
using namespace std; map<string,int> q;
string C, A;
map<string,int>::iterator it;
int N, a = - ;
int main(){
while(~scanf("%d",&N) && N != ){
for(int i = ; i < N; i++){
cin >> C;
q[C]++;
}
it = q.begin();
while(it != q.end()){
if(it->second > a){
a = it->second;
A = it->first;
}
it++;
}
cout << A << endl;
q.clear();
a = -;
}
return ;
}

【C++】【STL】【map】基础知识干货的更多相关文章

  1. STL之map基础知识

    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候 ...

  2. 【干货】用大白话聊聊JavaSE — ArrayList 深入剖析和Java基础知识详解(二)

    在上一节中,我们简单阐述了Java的一些基础知识,比如多态,接口的实现等. 然后,演示了ArrayList的几个基本方法. ArrayList是一个集合框架,它的底层其实就是一个数组,这一点,官方文档 ...

  3. C++ - STL - map的基础操作

    STL - map常用方法 map简述 map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,其作用类似于 ...

  4. C++ 顺序容器基础知识总结

    0.前言 本文简单地总结了STL的顺序容器的知识点.文中并不涉及具体的实现技巧,对于细节的东西也没有提及.一来不同的标准库有着不同的实现,二来关于具体实现<STL源码剖析>已经展示得全面细 ...

  5. 浅析C++基础知识

    近期想对C++的面试题目进行一下更加详细的整理.事实上认真思考一下C++程序猿的面试,我们能够发现对程序猿的能力的考察总是万变不离当中,这些基础知识主要分为五部分:一. C/C++基础知识 二. C/ ...

  6. Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】

    前言 本文主要讲解的知识点有以下: 权限管理的基础知识 模型 粗粒度和细粒度的概念 回顾URL拦截的实现 Shiro的介绍与简单入门 一.Shiro基础知识 在学习Shiro这个框架之前,首先我们要先 ...

  7. 面试基础知识集合(python、计算机网络、操作系统、数据结构、数据库等杂记)

    python python _.__.__xx__之间的差别 python中range.xrange和randrange的区别 python中 =.copy.deepcopy的差别 python 继承 ...

  8. Spring基础知识

    Spring基础知识 利用spring完成松耦合 接口 public interface IOutputGenerator { public void generateOutput(); } 实现类 ...

  9. HTML基础知识总结

    经过这段时间的学习,对于html的一些基础知识有了一定的了解.所谓好记性不如烂笔头,唯有一点点累积,才能汇聚成知识的海洋.现在,我对这段时间的学习做一个总结. 一.HTML的定义 HTML,超文本标记 ...

随机推荐

  1. python基础(二)---第一个程序

    1. 第一个程序 1.1 Hello Python书写步骤 步骤一:新建文本文档文件,修改名称为hello.py 步骤二:使用记事本打开文件,书写程序内容如下: 步骤三:打开命令行,输入执行指令:py ...

  2. springboot~Transactional注解的注意事项

    @Transactional注解是为方法添加事务块的意思,使用aop的技术动态为方法添加事务范围,在使用它时可以在类或者方法上添加,但在类上添加时需要注意一下影响的范围. 类中添加Transactio ...

  3. buuctf——easyjava

    虽然学过Javaweb的开发,但没好好学,所以对Javaweb了解不深 菜的真实 WEB-INF/web.xml泄露 贴一个别人的源码泄露总结ctf/web源码泄露及利用办法[总结中] WEB-INF ...

  4. 匹配 $gdinfo 中的数字

    <?php /* //下载 $filename = 'av.zip'; // 设置类型:可以省略 // header("content-type:image/jpeg"); ...

  5. Dism++ 更新管理提示“无法连接服务器”

    Dism++ 更新管理提示"无法连接服务器" 下载wsusscn3.cab,放入Dism++安装目录下Config文件夹中.

  6. Cisco Cat4500系列High CPU故障步骤摘要

    在实际网络环境中,很多时候都会出现设备high CPU的情况,有些时候可能是bug,而某些情况下,也可能是网络中发生了变化,导致了设备出现high CPU情况,这里主要记录一下Cisco Cat450 ...

  7. IDEA 查看某个class的maven引用依赖&如何展示Diagram Elements

    1.打开对应的class,如下图所示,至于具体快捷键就不说了,我是设置的eclipse的快捷键: 2.定位到对应jar,记下jar名称及版本: 3.在右侧栏点击maven,再在展出的视图中找到对应的m ...

  8. 关于定时执行任务:Crontab的20个例子

    关于定时执行任务:Crontab的20个例子 LeeLom 关注 2016.09.28 19:53* 字数 713 阅读 9186评论 6喜欢 15 简介 Linux crontab和Windows ...

  9. Plastic Sprayer Manufacturer - How Does The Sprayer Work?

    The Plastic Sprayers Manufacturer   stated that the sprayer is a very useful type of machine and a g ...

  10. Scrapy 分布式爬取

    由于受到计算机能力和网络带宽的限制,单台计算机运行的爬虫咋爬取数据量较大时,需要耗费很长时间.分布式爬取的思想是“人多力量大”,在网络中的多台计算机同时运行程序,公童完成一个大型爬取任务, Scrap ...