【C++】【STL】【map】基础知识干货

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 = -1 ;
int main(){
    while(~scanf("%d",&N) && N != 0){
        for(int i = 0; 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 = -1;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/biqianxiang/p/11774567.html