C++ STL容器 —— map/multimap 用法详解

C++ STL容器 —— map/multimap 用法详解

写在前面:近期正在学习C++的STL容器,因此在这里做一下日志记录,主要介绍一些容器基本成员函数的用法, 配上实际用例,并不涉及原理。但别人的博客终究是别人的, 最好自己上手操作一下.
写的不好, 请大神手下留情.

下面说的 “运行之后” 表示: 运行上个语句之后的结果.
一行如果说的太长的话, 就得拖动下面的进度条才能看到后面的内容, 非常麻烦
因此将一段话分成了多行, 就像现在这种形式

目录

    • C++ STL容器 —— map/multimap 用法详解
      • 简介
      • 构造函数
      • 访问 / 赋值
        • 迭代器
        • 下标 / at
        • swap (交换函数)
      • 常用函数
      • 长度 / 空间 / 容量相关函数
      • 添加元素
        • insert (插入函数)
        • emplace系列 (插入函数)
      • 删除元素
        • erase (删除函数)
      • 更改数据
      • 查找数据

简介

头文件: # include < map >
容器的每个元素类型为 pair, 将 pair 的第一部分作为 键(key), 第二部分作为 值(value), key 具有容器set的特点: 有序性, 每个 key 都有一个 value 对应, 而 value没有什么限制
会根据特定的排序标准,自动将元素进行排序。容器内的元素一直是有序的. 默认使用升序排序.
map和multimap的区别
map: 容器中 key 只能存在一个, 支持随机访问
multimap: 容器 key 可以存在多个, 不支持随机访问
其他用法都相同.

点击前往: pair 用法详解
点击前往: set/multiset 用法详解

构造函数

map <int, string> m, m1;
//定义 [int,string] 类型的map容器

multimap <int, string> mm, mm1;
//定义 [int,string] 类型的multimap容器

map <char, int> mchi;
//定义 [char,int] 类型的容器

map <string, int> mstri;
//定义 [string,int] 类型的容器

map <int, string> m3{
    {
   1,"aaa"}, {
   2,"bbb"},{
   3,"ccc"} };
//赋值

map <int, string> m4 = {
    {
   1,"aaa"}, {
   2,"bbb"},{
   3,"ccc"} };
//同上

map <int, string> m5(m);
//定义新容器, 拷贝 m 所有的元素

map <int, string> m6(m.begin(), m.end(

你可能感兴趣的:(C++,常用STL容器及算法,c++,map系列用法详解)