• STL模板整理 map


    map容器:

    继上一篇 ,Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。至于二叉树这种数据结构,本人暂时没有任何了解。在map这个容器中,提供一种“键- 值”关系的一对一的数据存储能力。其“键”在容器中不可重复,且按一定顺序排列,至于怎么排列,那么红黑树这种数据结构的特性了。

           KEY           VALUE

      x1  <---------> y1

    键 x2  <---------> y2    值

      x3  <---------> y3

    #include <iostream>
    #include <map>
    using namespace std;int main() {
        map <int, string> m1 = {{ 3, "guangzhou" }, { 2, "shenzhen" }, { 1, "changsha" } };//实例化一个map容器,内含三组数据
        /*
        begin()          返回指向map头部的迭代器
        clear()         删除所有元素
        count()          返回指定元素出现的次数
        empty()          如果map为空则返回true
        end()            返回指向map末尾的下一个迭代器
        erase()          删除一个元素
        find()           查找一个元素
        insert()         插入元素
        max_size()       返回可以容纳的最大元素个数
        size()           返回map中元素的个数
        swap()           交换两个map
        rbegin()         反向迭代器,指向最后一个迭代器
        rend()           指向map头结点的前一个迭代器
        */
        map <int, string>::iterator itor = m1.begin();
        for( ; itor != m1.end(); itor++)
            cout << itor->first << " " << itor->second << endl;
        //以数组的方式插入数据;
        /*for(int i = 1; i < 5; i++)
        {
            string s;
            cin>>s;
            m1[i] = s;
        }
        cout << " 插入数据后:" << endl; 
        itor = m1.begin();
        for( ; itor != m1.end(); itor++)
            cout << itor->first << " " << itor->second << endl;
        */
        return 0;
    }  
    宝剑锋从磨砺出 梅花香自苦寒来
  • 相关阅读:
    CTSC2018滚粗记
    HNOI2018游记
    NOIWC 2018游记
    PKUWC2018滚粗记
    HNOI2017 游记
    NOIP2017题解
    [HNOI2017]抛硬币
    [HNOI2017]大佬
    NOIP难题汇总
    [NOI2013]树的计数
  • 原文地址:https://www.cnblogs.com/GHzcx/p/8663438.html
Copyright © 2020-2023  润新知