STL之map和multimap总结

本文详细总结了STL中的map和multimap容器,重点探讨了它们的区别与应用场景。map提供一对一的键值映射,不允许重复键;而multimap则允许键的重复,适用于多对一的关系。通过实例解析,深入理解这两种数据结构的使用方法。
摘要由CSDN通过智能技术生成

STL之map和multimap总结


map和multimap都是有序关联容器,所有元素都会根据元素的键值自动被排序,包含具有
唯一键的键值对。键使用比较函数Compare比较来进行排序。搜索,删除和插入操作具有
对数复杂性。map和multimap通常实现为红黑树。multimap相对map来说能够允许重复值的存在。

1.构造、复制与析构

map c //默认构造函数;创建一个空map/multimap

map c(op) //创建一个空map/multimap,并以op原则作为排序准则

map c(c2) //复制构造函数;创建一个新的map/multimap作为c2的副本(所有元素都被复制)

map c = c2 //复制构造函数;创建一个新的map作为c2的副本(所有元素都被复制)

map c(rv) //移动构造函数;使用右值对象rv创建一个新map/multimap

map c = rv //移动构造函数;使用右值对象rv创建一个新map/multimap

map c(beg,end) //创建一个map/multimap,并使用beg到end范围内的值进行初始化

map c(beg,end,op) //创建一个map/multimap,并使用beg到end范围内以op原则排序后的值进行初始化

map c(initlist) //创建一个map/multimap,并使用初始化列表进行初始化

map c = initlist //创建一个map/multimap,并使用初始化列表进行初始化

c.~map() //销毁所有元素并释放内存
在这里map可能是如下的一种:</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值