栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

map容器

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

map容器

#include
using std::map;

1.map的定义
map name;

typename1为键(key),keyname2为值(value)

2.map容器内元素的访问

(1)下标访问

注意一个键只能对应一个值

map mp;
mp['a']=100;
mp['a']=120;
cout< 

(2)迭代器访问

迭代器定义与其他STL相同

map::iterator it;

使用上与其他STL有区别,因为迭代器需要同时能访问到键和值,使用->first和->second分别访问键和值

注意:map会按照键的大小进行自动排序,类似于set

#include
using namespace std;
signed main(void)
{
    map mp;
    mp['c']=1;
    mp['b']=2;
    mp['a']=3;
    for(map::iterator it=mp.begin();it!=mp.end();it++)
    {
        printf("%c %dn",it->first,it->second);
    }
    return 0;
}
3.map常用函数解析 (1)find()

find(key)返回键为key的映射的迭代器,时间复杂度为O(logn),n为map中映射个数

#include
using namespace std;
signed main()
{
    map mp;
    mp['b']=2;
    mp['c']=1;
    mp['a']=3;
    map::iterator it=mp.find('b');
    printf("%c %dn",it->first,it->second);
    return 0;
}
(2)erase()

1.erase(it) it为待删除元素的迭代器,时间复杂度O(1)

2.erase(key) key为待删除元素的键,时间复杂度为O(logn),n为map内元素个数

3.erase(first,last) 左闭右开,[first,last),时间复杂度为last-first

(3)size()

返回映射对数,O(1)

(4)clear()

清空元素,O(n),n为元素个数

4.map常见用途

multimap(一个键对应多个值)、unordered_map(不排序)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738485.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号