21xrx.com
2024-11-10 00:51:49 Sunday
登录
文章检索 我的文章 写文章
C++如何遍历map?
2023-07-12 04:20:45 深夜i     --     --
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中的元素默认按键值排序,因此遍历时也是按键值的顺序输出。

  
  

评论区

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