c++中map用法

map介绍

map提供一对一的数据处理,key-value键值对,其类型可以自己定义,其中第一个成为关键字,第二个称为关键字的值。
关键字不能修改,值可以修改。
map内部有序(自动排序),查找复杂度为log(n)。
map插入、删除都很方便。

map用法

  1. 必须引用的包

    #include <map>
    
  2. 声明

    ```
    map<string,int> maps;
    ```
    
  3. 基本方法快速查找

函数名

功能

maps.insert()或当数组用

插入

maps.find()

查找一个元素

maps.clear()

清空

maps.erase()

删除一个元素

maps.size()

长度

maps.begin()

返回指向map头部的迭代器

maps.end()

返回指向map末尾的迭代器

maps.rbegin()

返回一个指向map尾部的逆向迭代器

maps.rend()

返回一个指向map头部的逆向迭代器

maps.empty()

如果map为空则返回true

swap()

交换两个map

  • map的插入(map内部是自动排序号的,单词则按字母序排序

    //两种各有自己的方便之处
    maps.insert(pair<string,int>( “one”,1));
    maps[ “one”] =1;
    //其中"one"是key,1是value值,并且map内部是自动排序号的,单词则按字母序排序

  • map的遍历

    //迭代,根据key排序的,我的key是string,故是字典序排序,从a-z
    map< string,int>::iterator iter;
    for(iter = maps.begin(); iter != maps.end(); iter++)
    cout<first<<’ '<second<<endl;//输出的是key value值

    //反向迭代,根据key排序的,我的key是string,故是字典序排序,从z-a
    map<string,int>::reverse_iterator iter;
    for(iter = maps.rbegin(); iter != maps.rend(); iter++)
    cout<first<<’ '<second<<endl;

    //数组形式的遍历
    int nSize = maps.size();
    //此处应注意,应该是 for(int nindex = 1; nindex <= nSize; nindex++)
    //而不是 for(int nindex = 0; nindex < nSize; nindex++)
    for(int nindex = 1; nindex <= nSize; nindex++)
    cout<<maps[nindex]<<endl;

先写这么多,下次再补

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值