C ++ STL中的map delete()函数

在本文中,我们将讨论C ++ STL中map::erase()函数的工作,语法和示例。

什么是C ++ STL中的映射?

映射是关联容器,它有助于按特定顺序存储键值和映射值的组合所形成的元素。在映射容器中,数据始终在内部借助其关联的键进行排序。映射容器中的值通过其唯一键访问。

什么是map::erase()?

map::erase()是<map&t;下的函数。头文件。此功能用于从与其关联的映射容器中删除一个元素或元素范围。我们还可以通过其键删除映射元素。

此功能通过从容器中删除元素的数量有效地减小了映射容器的大小。

语法

map_name.erase(iterator pos);
map_name.erase(key_type &k);
map_name.erase(iterator start, iterator end);

参数

该功能接受以下

参数

  • pos-一个迭代器,可以视为要删除的元素的位置。

  • k-这是我们要从映射容器中删除的键值。

  • start, end-迭代器“ start”和“ end”用于给出我们希望从双端队列容器中删除的范围的开始位置和结束位置。

返回值

如果删除成功,该函数将返回1,否则返回0。

示例

输入项

map<char, int> newmap;
newmap[‘a’]
= 1;
newmap[‘b’] = 2;
newmap.erase(b);

输出结果

a

示例

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.emplace(3, 50);
   TP_Map.emplace(2, 30);
   TP_Map.emplace(1, 10);
   TP_Map.emplace(4, 70);
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   //删除映射值
   TP_Map.erase(1);
   TP_Map.erase(2);
   cout<<"\n\nAfter erasing the element: \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

输出结果

TP Map is:
MAP_KEY    MAP_ELEMENT
1             10
2             30
3             50
4             70
After erasing the element:
MAP_KEY    MAP_ELEMENT
3             50
4             70

示例

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.insert({3, 50});
   TP_Map.insert({2, 30});
   TP_Map.insert({1, 10});
   TP_Map.insert({4, 70});
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   //删除映射值
   auto var = TP_Map.find(1);
   TP_Map.erase(var);
   auto var_1 = TP_Map.find(2);
   TP_Map.erase(var_1);
   cout<<"\n\nAfter erasing the element: \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

输出结果

TP Map is:
MAP_KEY    MAP_ELEMENT
1             10
2             30
3             50
4             70
After erasing the element:
MAP_KEY    MAP_ELEMENT
3             50
4             70