C++ STL 容器之 map

本文详细介绍了C++ STL中的map容器,包括如何定义和初始化map,如何添加、删除元素,以及如何通过下标、迭代器和C++11新特性访问元素。map是一个按照键值排序的关联容器,支持多种类型的键,并且不允许键重复。文章还讨论了insert操作的返回值,以及使用find方法检查元素存在的方法。
摘要由CSDN通过智能技术生成

map 是 C++ 对数据结构哈希表的实现。要使用 map,请在程序头添加:

#include <map>
using name space std;

数组是最基础的也是我们使用得最为频繁的容器。但数组只能提供数值到其他类型值的映射,即数组只能使用数值作为索引的。很多时候我们需要以其他类型作为索引,如 char 或者 string 等。map 正好可以满足这种需求,故 map 对象的创建需要指定 index 和 value 两个值的类型,即
map<index, value> m;
map 的 index 可以是各种不同的类型,如 int、char 、string 等。map 中的元素是按照 index 的升排列的,也不允许存在具有相同 index 值的元素。

map 对象的定义与初始化

map<int, char> m; 创建一个空 map 容器
map<int, char> m1(m); m1 = m
map<int, char> m1 = m m1 = m
map<int, char> m({ {1, 'a'}, {3, 'c'} });
map<int, char> m = { {1, 'a'}, {3, 'c'} };

向 map 对象添加元素

作为一种关联容器,map 中的元素是根据关键字存储的,故 map 不支持类似于顺序容器中的与位置相关的操作,如 .push_front、.push_back 等。在向 map 对象中添加元素时,只需要指明带插入的元素本身,而元素插入的位置由 map 根据其关键字自行决定。

使用 insert 插入元素

插入单个元素

map<int, char> m = {
    {
   1, 'a'}, {
   2, 'b'} };
m.insert({
   3, 'c'}); // m = { {1, 'a'}, {2, 'b'}, {3, 'c'} };

插入一段元素

map<int, char> m = {
    {
   1, 'a'}, {
   2, 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值