STL———map

简介: 必须要写篇博客记录map!map大法好!我最爱map辽~首先介绍一下map吧!

概念


map是STL的一个关联容器,它提供一对一的数据处理能力。

对于map来说,他需要两个参数,一个作为搜索时用到的引擎,关键字,而第二个参数就是与之所对应的值,下面讲讲比较常用且常见的map。


用法


1.map和pair的嵌套

int x=1,y=1;
    map< pair<int ,int >,int >mo;
    mo[make_pair(x,y)]++;


2.我们可以通过使用map的迭代器iterator、调用map对象的begin()和end()函数,实现对于map中数据的遍历,如下:


auto it = level.begin();
    printf("%d", it->second);
    while(++it != level.end()) printf(" %d", it->second);


it->first 关键字(key)

it>second 存储的数据(value)

map是有序的会根据index从小到大自动排序,这样递归完成后level中的值就是层序遍历的顺序


3.二维map就是可能有一个键对应两个键值


std::map<int , map<string,int> > ma;
std::map<string, map<string,int> >::iterator it;
相关文章
|
7月前
|
编译器 C++ 容器
【c++丨STL】基于红黑树模拟实现set和map(附源码)
本文基于红黑树的实现,模拟了STL中的`set`和`map`容器。通过封装同一棵红黑树并进行适配修改,实现了两种容器的功能。主要步骤包括:1) 修改红黑树节点结构以支持不同数据类型;2) 使用仿函数适配键值比较逻辑;3) 实现双向迭代器支持遍历操作;4) 封装`insert`、`find`等接口,并为`map`实现`operator[]`。最终,通过测试代码验证了功能的正确性。此实现减少了代码冗余,展示了模板与仿函数的强大灵活性。
193 2
|
7月前
|
存储 算法 C++
【c++丨STL】map/multimap的使用
本文详细介绍了STL关联式容器中的`map`和`multimap`的使用方法。`map`基于红黑树实现,内部元素按键自动升序排列,存储键值对,支持通过键访问或修改值;而`multimap`允许存在重复键。文章从构造函数、迭代器、容量接口、元素访问接口、增删操作到其他操作接口全面解析了`map`的功能,并通过实例演示了如何用`map`统计字符串数组中各元素的出现次数。最后对比了`map`与`set`的区别,强调了`map`在处理键值关系时的优势。
371 73
|
C++ 容器
【C++】红黑树模拟实现STL中的map与set
【C++】红黑树模拟实现STL中的map与set
|
存储 编译器 C++
|
存储 算法 C++
【C++高阶】探索STL的瑰宝 map与set:高效数据结构的奥秘与技巧
【C++高阶】探索STL的瑰宝 map与set:高效数据结构的奥秘与技巧
186 0
|
存储 C++ 索引
C++基础知识(八:STL标准库 Map和multimap )
C++ 标准模板库(STL)中的 map 容器是一种非常有用的关联容器,用于存储键值对(key-value pairs)。在 map 中,每个元素都由一个键和一个值组成,其中键是唯一的,而值则可以重复。
223 0
|
C++ 容器
C++ STL标准库 《map容器详解》
C++ STL标准库 《map容器详解》
114 0
|
存储 C++ 容器
C++ STL标准库 《map容器详解》
C++ STL标准库 《map容器详解》
239 0
|
C++ 索引 容器
黑马c++ STL部分 笔记(9) map/multimap容器
黑马c++ STL部分 笔记(9) map/multimap容器
|
存储 C++ 容器
【STL】map和set的原理及其使用
【STL】map和set的原理及其使用

热门文章

最新文章