21xrx.com
2025-03-23 23:00:36 Sunday
文章检索 我的文章 写文章
如何使用C++遍历map并打印其key?
2023-07-04 01:12:29 深夜i     60     0
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循环,具体选择哪种方法可以根据程序的需求和编程习惯进行选择。

  
  

评论区