21xrx.com
2024-11-22 03:14:28 Friday
登录
文章检索 我的文章 写文章
C++ Map的循环遍历与元素删除
2023-07-06 20:35:27 深夜i     --     --
C++ Map 循环遍历 元素删除

在C++中,Map是一种关联容器。它将键和值一一对应,并将它们存储在根据键排序的顺序中。可以使用迭代器遍历Map中的元素,并执行各种操作。

循环遍历Map

要循环遍历Map,需要使用迭代器来遍历元素。以下是使用for循环遍历Map的示例代码:


#include <iostream>

#include <map>

int main() {

  // 创建Map并添加元素

  std::map<std::string, int> myMap;

  myMap["apple"] = 3;

  myMap["banana"] = 2;

  myMap["cherry"] = 4;

  // 遍历Map

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

    std::cout << it->first << " => " << it->second << std::endl;

  

  return 0;

}

在这个例子中,我们创建了一个名为myMap的Map对象,并使用键值对添加了三个元素。使用for循环和迭代器遍历Map中的元素,并将每个键和它的相关值打印到屏幕上。

删除Map中的元素

要删除Map中的元素,可以使用erase()函数。以下是使用循环遍历Map并删除元素的示例代码:


#include <iostream>

#include <map>

int main() {

  // 创建Map并添加元素

  std::map<std::string, int> myMap;

  myMap["apple"] = 3;

  myMap["banana"] = 2;

  myMap["cherry"] = 4;

  // 删除Map中值为3的元素

  for (auto it = myMap.begin(); it != myMap.end(); ) {

    if (it->second == 3) {

      it = myMap.erase(it);

    } else {

      it++;

    }

  }

  // 展示删除后的Map

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

    std::cout << it->first << " => " << it->second << std::endl;

  

  return 0;

}

在这个例子中,我们创建了一个名为myMap的Map对象,并使用键值对添加了三个元素。然后,我们使用for循环和迭代器遍历Map中的每个元素,并将值为3的元素从Map中删除。最后,我们再次遍历Map并将剩余的元素打印到屏幕上。

总结

使用C++的Map容器可以轻松地存储和管理键值对数据。可以使用迭代器遍历元素,并使用erase()函数删除特定的元素。无论是循环遍历还是删除元素,都要记住使用正确的语法和数据类型。

  
  

评论区

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