21xrx.com
2024-12-22 22:26:01 Sunday
登录
文章检索 我的文章 写文章
如何使用C++遍历map并打印其key?
2023-07-04 01:12:29 深夜i     --     --
C++ Map 遍历 打印 key

C++中的map是一种关联容器,其中存储的数据类型是键值对(key-value)形式的。遍历map并打印其key是C++编程过程中的常见操作,下面介绍两种方法实现此操作。

方法1:使用迭代器遍历map

map中的元素存储方式是按照key的大小排序,因此,我们可以使用迭代器从map的首元素开始迭代,逐个打印其key值。示例代码如下:


#include <iostream>

#include <map>

using namespace std;

int main()

{

  map<int, string> myMap = { "apple", 2, 3};

  map<int, string>::iterator it;

  for (it = myMap.begin(); it != myMap.end(); it++)

  

    cout << it->first << endl; //输出map元素的key值

  

  return 0;

}

在这个例子中,我们创建了一个名为myMap的map,并使用迭代器it从myMap的首元素开始遍历,逐个输出元素的key值。输出结果为:


1

2

3

方法2:使用C++11的range for循环遍历map

C++11引入了range for循环,使得遍历容器变得更加简单易懂。对于map这种关联容器,C++11的range for循环也可以用来遍历并打印其key。示例代码如下:


#include <iostream>

#include <map>

using namespace std;

int main()

{

  map<int, string> myMap = {1, "banana", "orange"};

  for (const auto& kv : myMap)

  

    cout << kv.first << endl; //输出map元素的key值

  

  return 0;

}

在这个例子中,我们同样创建了一个名为myMap的map,并使用range for循环逐个输出元素的key值。其中auto& kv表示将map中每个元素看做键值对(key-value)形式的pair,通过kv.first就可以访问元素的key值。输出结果与方法1相同。

综上所述,在C++中,遍历map并输出其key值可以使用迭代器或者C++11的range for循环,具体选择哪种方法可以根据程序的需求和编程习惯进行选择。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复