如何在C ++中从映射中删除最后一个元素

在这里,我们将看到如何从C ++ STL映射中删除最后一个元素。该映射是基于哈希表的数据类型,它具有键和值。我们可以使用prev()方法获取最后一个元素,并使用delete()函数删除,如下所示。

示例

#include<iostream>
#include<map>
using namespace std;
int main() {
   map<string, int> my_map;
   my_map["first"] = 10;
   my_map["second"] = 20;
   my_map["third"] = 30;
   cout << "Map elements before deleting the last element:"<<endl;
   for (auto it = my_map.begin(); it != my_map.end(); it++)
      cout << it->first << " ==> " << it->second << endl;
   cout << "removing the last element from the map"<<endl;
   my_map.erase(prev(my_map.end()));
   cout << "Map elements after deleting the last element :"<<endl;
   for (auto it = my_map.begin(); it != my_map.end(); it++)
      cout << it->first << " ==> " << it->second << endl;
}

输出结果

Map elements before deleting the last element:
first ==> 10
second ==> 20
third ==> 30
removing the last element from the map
Map elements after deleting the last element :
first ==> 10
second ==> 20