La función unordered_multiset::erase() es una función incorporada en C++ STL que se usa para eliminar un solo elemento o todos los elementos con un valor definido o un rango de elementos que van desde el inicio (incluido) hasta el final (exclusivo). ). Esto disminuye el tamaño del contenedor por el número de elementos eliminados.
Sintaxis :
- unordered_multiset_name.erase(posición del iterador)
- unordered_multiset_name.erase(inicio del iterador, final del iterador)
- unordered_multiset_name.erase(key_value)
Parámetros : Esta función tiene tres versiones.
- El primero toma un iterador como argumento, borra el elemento presente en esa posición.
- La segunda versión toma dos iteradores (por ejemplo, inicio y final) toma 2 iteradores como argumento y borra todos los elementos en el rango [inicio, final].
- La tercera versión toma un valor clave como argumento y borra todos los elementos de ese valor en el conjunto múltiple.
Valor de retorno : la primera y segunda versión de la función, como se muestra en la sintaxis anterior, devuelve un iterador inmediatamente después del último elemento borrado. La tercera versión devuelve el número de elementos borrados.
Los siguientes programas ilustran la función unordered_multiset::erase():
Programa 1 :
// C++ program to illustrate the // unordered_multiset::erase() function #include <iostream> #include <unordered_set> using namespace std; int main() { unordered_multiset<int> samplemultiSet; // Inserting elements samplemultiSet.insert(10); samplemultiSet.insert(5); samplemultiSet.insert(15); samplemultiSet.insert(20); samplemultiSet.insert(25); samplemultiSet.insert(10); samplemultiSet.insert(15); samplemultiSet.insert(20); // Erases a particular element by its position samplemultiSet.erase(samplemultiSet.begin()); // Displaying the set after removal for (auto it = samplemultiSet.begin(); it != samplemultiSet.end(); it++) { cout << *it << " "; } // erases a range of elements, // here all the elements samplemultiSet.erase(samplemultiSet.begin(), samplemultiSet.end()); cout << "\nMultiSet size: " << samplemultiSet.size(); return 0; }
10 10 15 15 20 20 25 MultiSet size: 0
Programa 2 :
// C++ program to illustrate the // unordered_multiset::erase() function #include <iostream> #include <unordered_set> using namespace std; int main() { unordered_multiset<int> samplemultiSet; // Inserting elements samplemultiSet.insert(10); samplemultiSet.insert(5); samplemultiSet.insert(15); samplemultiSet.insert(20); samplemultiSet.insert(25); samplemultiSet.insert(10); samplemultiSet.insert(15); samplemultiSet.insert(20); // Erases all elements of value 10 samplemultiSet.erase(10); // Displaying the set after removal for (auto it = samplemultiSet.begin(); it != samplemultiSet.end(); it++) { cout << *it << " "; } return 0; }
5 15 15 20 20 25
Publicación traducida automáticamente
Artículo escrito por tufan_gupta2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA