ProDeveloperTutorial.com

教程和编程解决方案
菜单
  • Shell脚本
  • 系统设计
  • Linux系统编程
  • 4g LTE
  • 编码问题
  • C
  • C ++
  • DSA
  • GIT

CPP STL第8章:std :: map及其操作。

前开发者教程 2020年3月28日
在本章中,我们将学习:
1.地图介绍。
2.地图声明。
3.多维地图
4.传递std :: map到函数
5.映射成员函数以遍历元素。
6.映射成员函数检查容量。
7. map成员函数访问元素。
8. map成员函数修改元素。

1.地图介绍。

1.地图是关联容器。
2.它们用于保存键值对。
3.键值通常用于对元素进行排序和唯一标识。
4.映射中的元素始终按其键排序。
5. map通常比unordered_map容器通过键访问单个元素的速度慢。
您可以使用“pair”.

typedef 对<const Key, T> value_type;
您需要使用以下头文件来使用map:

#include <map>

2.地图声明。

地图可以声明如下:

  std::map<char,int> mymap;

  mymap['b'] = 100;
  mymap['a'] = 200;
  mymap['c'] = 300;

3.多维地图

创建2D地图的语法:

map< key_1_type, map< key_2_type, value_type> > object;

4.传递std :: map到函数

———————————————————————————-
您可以通过两种方式传递地图:
1.传递价值
2.通过引用
1.传递价值

void func(map<char,int> mymap) 
{ 
  mymap['d'] = 400;
} 
   
   
int main ()
{
  std::map<char,int> mymap;

  mymap['b'] = 100;
  mymap['a'] = 200;
  mymap['c'] = 300;

  func(mymap);
  std::cout << "mymap contains using .begin:"<<endl;
  for (std::map<char,int>::iterator it=mymap.begin(); it!=mymap.end(); ++it)
    std::cout << it->first << " => " << it->second << '\n';


  return 0;
}
2.通过引用

void func(map<char,int> &mymap) 
{ 
  mymap['d'] = 400;
} 
   
   
int main ()
{
  std::map<char,int> mymap;

  mymap['b'] = 100;
  mymap['a'] = 200;
  mymap['c'] = 300;

  func(mymap);
  std::cout << "mymap contains using .begin:"<<endl;
  for (std::map<char,int>::iterator it=mymap.begin(); it!=mymap.end(); ++it)
    std::cout << it->first << " => " << it->second << '\n';


  return 0;
}

5.映射成员函数以遍历元素。

开始 :它将使迭代器返回到开始
结束 :它将返回迭代器结束
初学者 :它将返回反向迭代器返回到反向开始
撕裂 :它将反向迭代器返回到反向结束
开始  :它将const_iterator返回到开头
结束   :它将返回const_iterator结束

#include <iostream>
#include <map>
//for more tutorials 上 C, C ++, STL, DS visit www.ProDeveloperTutorial.com
using namespace std;

int main ()
{
  std::map<char,int> mymap;

  mymap['b'] = 100;
  mymap['a'] = 200;
  mymap['c'] = 300;

  std::cout << "mymap contains using .begin:"<<endl;
  for (std::map<char,int>::iterator it=mymap.begin(); it!=mymap.end(); ++it)
    std::cout << it->first << " => " << it->second << '\n';

  std::cout << "mymap contains using .rbegin:"<<endl;
  std::map<char,int>::reverse_iterator rit;
  for (rit=mymap.rbegin(); rit!=mymap.rend(); ++rit)
    std::cout << rit->first << " => " << rit->second << '\n';

  std::cout << "mymap contains using .cbegin:"<<endl;
   for (auto it = mymap.cbegin(); it != mymap.cend(); ++it)
    std::cout << it->first << " => " << it->second << '\n';
  std::cout << '\n';   
  return 0;
}
输出:

mymap contains using .begin:
a => 200
b => 100
c => 300
mymap contains using .rbegin:
c => 300
b => 100
a => 200
mymap contains using .cbegin:
a => 200
b => 100
c => 300

6.映射成员函数检查容量。

空的 :测试容器是否为空
尺寸 :返回容器的大小
mabx_size :返回最大大小

7. map成员函数访问元素。

运算符[] :访问元素
在   :访问元素

#include <iostream>
#include <map>
//for more tutorials 上 C, C ++, STL, DS visit www.ProDeveloperTutorial.com
using namespace std;

   
int main ()
{
  std::map<char,int> mymap;

  mymap['b'] = 100;
  mymap['a'] = 200;
  mymap['c'] = 300;
  mymap['d'] = 500;

  std::cout << "mymap['d'] is " << mymap['d'] << '\n';
  
   mymap.at('d') = 10;
   
  std::cout << "mymap['d'] is " << mymap['d'] << '\n';
   
  return 0;
}
输出:

mymap['d'] is 500
mymap['d'] is 10

8. map成员函数修改元素。

插入 :插入元素
抹去 :擦除元素
交换 :交换内容
明确 :清除内容

该网站上可用的教程列表:

C编程20+章C ++编程80+章
100多个编码问题数据结构和算法85+章
系统设计20+章Shell脚本编写12章
4g LTE 60+章节最常见的编码问题
5G NR 50+章Linux系统编程20+章
分享
电子邮件
鸣叫
领英
Reddit
绊倒
Pinterest的
上一篇文章
下一篇

关于作者

前开发者教程

每天我们都会讨论竞争性编程问题,请加入我们的网站:   电报频道

ProDeveloperTutorial.com

教程和编程解决方案
版权© 2020 ProDeveloperTutorial.com
从以下课程获得热门课程: 教育性的


        <bdo id="UqfK145" class="UdcPsq3"><ul class="D6cDeG2"></ul></bdo>

        1. <keygen class="JAy6Hrf"></keygen>


          <font id="bXu8BOG" class="bUTs6R8"></font>

          <abbr id="W5HMSsi"><nav id="z6PDgpH"><bdi class="VtEekvx"><ol id="dWDwkMZ" class="d3DCdtE"></ol></bdi></nav></abbr>

          <label id="TnfLUQR" class="TgyVAKQ"><rt id="uc1I8D7" class="uyj327N"></rt></label>
            <option id="tRlmbRP"></option>