unordered_multimap::erase() es una función incorporada en C++ STL que elimina el elemento del rango dado, por posición y por clave. Hay tres variantes de esta función en C++ STL.
Existen los siguientes tipos de funciones erase() en C++ para unordered_multimap.
- Por posición : elimina el elemento de unordered_multimap por la posición dada y devuelve un iterador que apunta a la posición inmediatamente posterior al último de los elementos borrados.
- Por clave: Elimina elementos por la clave. Devuelve el número de elementos que se han borrado.
- Por rango: toma el iterador primero y el último y elimina todos los elementos entre ellos, incluido el primero pero excluyendo el último. Devuelve un iterador que apunta a la posición inmediatamente posterior al último de los elementos borrados.
Sintaxis:
- borrado del iterador (posición del iterador)
- borrar tamaño (key_type& k)
- borrado del iterador ( iterador primero, último iterador );
Los programas a continuación explican las funciones anteriores.
Ejemplo 1
// C++ program to illustrate the // unordered_multimap::erase() function #include <bits/stdc++.h> using namespace std; int main() { // declaration of unordered_multimap unordered_multimap<char, int> sample; // inserts element sample.insert({ 'a', 2 }); sample.insert({ 'b', 4 }); sample.insert({ 'c', 8 }); sample.insert({ 'd', 10 }); sample.insert({ 'c', 4 }); sample.insert({ 'e', 4 }); sample.insert({ 'f', 4 }); cout << " Elements of multimap are : \n"; for (auto& x : sample) cout << x.first << " : " << x.second << endl; // delete element by position sample.erase(sample.begin()); // print after delete by position cout << " Elements of multimap after deleting by position are : \n"; for (auto& x : sample) cout << x.first << " : " << x.second << endl; // erase by Element sample.erase('c'); // print after delete by element cout << " Elements of multimap after deleting by element name : \n"; for (auto& x : sample) cout << x.first << " : " << x.second << endl; // erase by range sample.erase(sample.find('e'), sample.end()); // print after delete by range cout << " Elements of multimap after deleting by range are : \n"; for (auto& x : sample) cout << x.first << " : " << x.second << endl; return 0; }
Producción:
Elements of multimap are : f : 4 b : 4 a : 2 c : 4 c : 8 d : 10 e : 4 Elements of multimap after deleting by position are : b : 4 a : 2 c : 4 c : 8 d : 10 e : 4 Elements of multimap after deleting by element name : b : 4 a : 2 d : 10 e : 4 Elements of multimap after deleting by range are : b : 4 a : 2 d : 10
Ejemplo 2
// C++ program to illustrate the // unordered_multimap::erase() function #include <bits/stdc++.h> using namespace std; int main() { // declaration of unordered_multimap unordered_multimap<int, int> sample; // inserts element sample.insert({ 1, 2 }); sample.insert({ 2, 4 }); sample.insert({ 3, 8 }); sample.insert({ 4, 10 }); sample.insert({ 3, 4 }); sample.insert({ 5, 4 }); sample.insert({ 6, 4 }); cout << " Elements of multimap are : \n"; for (auto& x : sample) cout << x.first << " : " << x.second << endl; // delete element by position sample.erase(sample.begin()); // print after delete by position cout << " Elements of multimap after deleting by position are : \n"; for (auto& x : sample) cout << x.first << " : " << x.second << endl; // erase by Element sample.erase(3); // print after delete by element cout << " Elements of multimap after deleting by element name : \n"; for (auto& x : sample) cout << x.first << " : " << x.second << endl; // erase by range sample.erase(sample.find(5), sample.end()); // print after delete by range cout << " Elements of multimap after deleting by range are : \n"; for (auto& x : sample) cout << x.first << " : " << x.second << endl; return 0; }
Producción:
Elements of multimap are : 6 : 4 2 : 4 1 : 2 3 : 4 3 : 8 4 : 10 5 : 4 Elements of multimap after deleting by position are : 2 : 4 1 : 2 3 : 4 3 : 8 4 : 10 5 : 4 Elements of multimap after deleting by element name : 2 : 4 1 : 2 4 : 10 5 : 4 Elements of multimap after deleting by range are : 2 : 4 1 : 2 4 : 10
Publicación traducida automáticamente
Artículo escrito por ankit15697 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA