21xrx.com
2025-07-16 15:00:45 Wednesday
文章检索 我的文章 写文章
C++如何遍历map?
2023-07-12 04:20:45 深夜i     49     0
C++ 遍历 map

C++中,map是一种关联容器,用于存储键值对,并根据键值快速查找值。当需要遍历map中的所有元素时,可以使用以下两种方法:

1. 使用迭代器

C++中的map容器提供了begin()和end()函数,返回一个指向map容器中第一个元素的迭代器和一个指向map容器中最后一个元素后面的迭代器,可以使用迭代器遍历map中的所有元素。

示例代码如下:

#include <iostream>
#include <map>
using namespace std;
int main()
{
  map<char, int> myMap;
  myMap.insert(pair<char, int>('a', 1));
  myMap.insert(pair<char, int>('b', 2));
  myMap.insert(pair<char, int>('c', 3));
  for (auto it = myMap.begin(); it != myMap.end(); it++)
  
    cout << it->first << " => " << it->second << endl;
  
  return 0;
}

2. 使用C++11中的range-based for循环

C++11中提供了range-based for循环,可以用于遍历容器中的元素。在使用range-based for循环时,需要用auto关键字自动推导出容器的类型。

示例代码如下:

#include <iostream>
#include <map>
using namespace std;
int main()
{
  map<char, int> myMap;
  myMap.insert(pair<char, int>('a', 1));
  myMap.insert(pair<char, int>('b', 2));
  myMap.insert(pair<char, int>('c', 3));
  for (auto &p : myMap)
  
    cout << p.first << " => " << p.second << endl;
  
  return 0;
}

通过以上两种方法,可以轻松地遍历map中的所有元素。需要注意的是,map中的元素默认按键值排序,因此遍历时也是按键值的顺序输出。

  
  

评论区