zoukankan      html  css  js  c++  java
  • 【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;
    }
  • 相关阅读:
    从scanf的学习接口设计
    特现C语言编程特点的小代码,itoa,数值转换成字符串
    So many good projects for studying C programming lanuage.
    重要算法代码
    选择一本C++教材
    4412 内核模块传参数
    4412 GPIO初始化
    4412 物理地址
    4412 杂项设备
    4412 Linux设备总线
  • 原文地址:https://www.cnblogs.com/biqianxiang/p/11774567.html
Copyright © 2011-2022 走看看