21xrx.com
2024-06-02 23:15:50 Sunday
登录
文章检索 我的文章 写文章
C++ Map 的删除操作
2023-07-05 03:15:47 深夜i     --     --
C++ Map 删除操作 erase()函数 迭代器

在C++中,STL中的Map是一种非常常用的数据结构,可以用来存储键值对,提供了一些强大的查找和访问功能,同时也有删除操作。

Map的删除操作可以通过erase函数来实现。它可以按照键删除元素或者按照迭代器删除元素。下面是删除元素的一些例子:


#include <iostream>

#include <map>

using namespace std;

int main() {

  // 定义一个Map

  map<string, int> myMap;

  // 插入一些元素

  myMap["apple"] = 5;

  myMap["banana"] = 2;

  myMap["orange"] = 3;

  myMap["kiwi"] = 4;

  // 删除一个元素

  myMap.erase("banana");

  // 输出Map中的元素

  for (auto& x : myMap)

    cout << x.first << ": " << x.second << endl;

  

  // 使用迭代器删除元素

  auto it = myMap.find("kiwi");

  if (it != myMap.end()) {

    myMap.erase(it);

  }

  // 再次输出Map中的元素

  for (auto& x : myMap)

    cout << x.first << ": " << x.second << endl;

  

  return 0;

}

在上面的例子中,我们首先定义了一个Map,并插入一些元素。接着,我们使用erase函数删除了一个元素,然后输出Map中的元素。接着,我们使用find函数找到了一个元素的迭代器,然后使用erase函数删除了它。最后,我们再次输出Map中的元素。

需要注意的是,如果使用erase函数按照键删除元素,那么如果Map中没有该键,它将什么都不会做。同时,如果使用find函数查找某个键,如果Map中没有该键,它将返回Map的end迭代器,而不是抛出异常。

总之,C++中的Map是一种非常有用的数据结构,它提供了非常方便的查找和访问功能以及删除操作,这使得它在实际开发中非常有用。我们需要熟练掌握Map的删除操作,以便更好地使用它来解决实际问题。

  
  

评论区

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