• STL


    Map

    /*pair

    1. pair类型的定义和初始化
    • pair <T1,T2>p; // 定义了一个空的pair对象p
    • pair<T1,T2>p(v1,v2); //定义了包含初始值为v1和v2的pair对象p
    • make_pair(v1,v2);//以v1和v2值创建一个新的pair对象
    1. pair对象的一些操作
    • p.first
    • p.second

    pair<int,string> p(0, “Hello”);

    printf(“%d %s ”,p.first,p.second.c_str());

    */

    1.map最基本的构造函数:

    map<string , int > mapstring;              map<int ,string > mapint;

    map<string,char>mapstring;             map<char, string>mapchar;

    map<char,int>mapchar;                map<int,char>mapint;

    2.map添加数据

    map<int ,string>maplive;

    (1)    maplive.insert(pair<int string>(102, “active”));

    (2)    maplive.insert(map<int,string> : :value_type(321, “hai”);

    (3)    maplive[112] = “April”; //map中最简单最常用的插添加;

    3.map中元素的查找:

    find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。

    map<int,string> : : iterator l_it;;

    l_it = maplive.find(112);

    if(l_it == maplive.end())

     printf(“we do not find 112”);

    else

    printf(“we find 112”);

    4.map中元素的删除

    如果删除112;

    map<int,string> :: iterator 1_it;;

    l_it = maplive.find(112);

    if(l_it == maplive.end())

    printf(“we do not find 112”);

    else

    maplive.erase(l_it); //删除112

    5.容量查询

    // 查询map是否为空

    bool empty();

    // 查询map中键值对的数量

    size_t size();

    // 查询map所能包含的最大键值对数量,和系统和应用库有关。

    // 此外,这并不意味着用户一定可以存这么多,很可能还没达到就已经开辟内存失败了

    size_t max_size();

    // 查询关键字为key的元素的个数,在map里结果非0即1

    size_t count( const Key& key ) const;

    6.删除

    // 删除迭代器指向位置的键值对,并返回一个指向下一元素的迭代器

    iterator erase( iterator pos )

    // 删除一定范围内的元素,并返回一个指向下一元素的迭代器

    iterator erase( const_iterator first, const_iterator last );

    // 根据Key来进行删除, 返回删除的元素数量,在map里结果非0即1

    size_t erase( const key_type& key );

    // 清空map,清空后的size为0

    void clear();

    7.交换

    //就是两个map的内容交换

    void  swap( map & other);

    8.的基本操作函数

          begin()          返回指向map头部的迭代器
          clear()         删除所有元素
          count()          返回指定元素出现的次数
          empty()         如果map为空则返回true
          end()             返回指向map末尾的迭代器
          erase()          删除一个元素
          find()            查找一个元素
          insert()         插入元素
          key_comp()    返回比较元素key的函数
          size()           返回map中元素的个数
          swap()            交换两个map

    9.功能

    (1).自动建立Key – value的对应

    (2).快速插入Key – Value 记录

    (3).快速删除记录

    (4).根据Key修改value记录

    (5).遍历所有记录

    10.应用

    代替Hash

  • 相关阅读:
    iOS学习13之OC NSString类
    iOS之08-核心语法
    iOS学习12之OC属性和点语法
    iOS学习11之OC继承
    iOS之07-三大特性之多态 + NSString类
    iOS学习10之OC类和对象
    swift(三)字典数组操作
    swift(二)swift字符串和字符和逻辑运算
    swift(二)swift字符串和字符和逻辑运算
    swift(一)基础变量类型
  • 原文地址:https://www.cnblogs.com/rax-/p/9792097.html
Copyright © 2020-2023  润新知