unordered_multiset erase() function in C++ STL Last Updated : 29 Aug, 2024 Comments Improve Suggest changes Like Article Like Report The unordered_multiset::erase() function is a built-in function in C++ STL which is used to remove either a single element or, all elements with a definite value or, a range of elements ranging from start(inclusive) to end(exclusive). This decreases the size of the container by the number of elements removed. Syntaxunordered_multiset_name.erase(iterator position)unordered_multiset_name.erase(iterator start, iterator end)unordered_multiset_name.erase(key_value)ParametersThis function has three versions. The first one takes an iterator as an argument, erases the element present at that position.The second version takes two iterator(say start and end) takes 2 iterators as argument and erases all elements in the range [start, end).The third version takes a key value as argument and erases all elements of that value in the multiset.Return ValueThe 1st and 2nd version of the function as shown in the above syntax returns an iterator immediately following the last element erased. The 3rd version returns the number of element erased. Below programs illustrate the unordered_multiset::erase() function: Program 1 CPP // 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; } Output20 20 15 15 5 10 10 MultiSet size: 0Time Complexity: O(n), where n is the number of occurrences of the value 10.Auxiliary Space: O(1)Program 2 CPP // 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; } Output25 20 20 15 15 5 Time Complexity: O(n), where n is the number of occurrences of the value 10.Auxiliary Space: O(1) Comment More infoAdvertise with us Next Article unordered_multiset count() function in C++ STL T tufan_gupta2000 Follow Improve Article Tags : C++ CPP-Functions cpp-unordered_multiset Practice Tags : CPP Similar Reads Unordered Multiset in C++ STL In C++, unordered multiset is an unordered associative container that works similarly to an unordered set, but it can store multiple copies of the same value. It provides fast insert, delete and search operations using hashing, but the elements are not in any particular order.Example: C++#include 7 min read unordered_multiset begin() function in C++ STL The unordered_multiset::begin() is a built-in function in C++ STL which returns an iterator pointing to the first element in the container or to the first element in one of its bucket. Syntax: unordered_multiset_name.begin(n) Parameters: The function accepts one parameter. If a parameter is passed, 2 min read unordered_multiset end() function in C++ STL The unordered_multiset::end() is a built-in function in C++ STL which returns an iterator pointing to the position immediately after the last element in the container or to the position immediately after the last element in one of its bucket. Syntax: unordered_multiset_name.end(n) Parameters: The fu 2 min read unordered_multiset size() in C++ STL The size() method of unordered_multiset is used to count the number of elements of unordered_set it is called with. It takes the number of elements in the container and counts the number of elements. Syntax: size_type size() const; where size_type is an unsigned integral type. Return Value: This fun 1 min read unordered_multiset empty() function in C++STL The unordered_multiset::empty() is a built-in function in C++ STL which returns a boolean value. It returns true if the unordered_multiset container is empty. Otherwise, it returns false. Syntax: unordered_multiset_name.empty() Parameters: The function does not accepts any parameter. Return Value: I 2 min read unordered_multiset insert() function in C++ STL The unordered_multiset::insert() is a built-in function in C++ STL that inserts new elements in the unordered_multiset. This increases the container size. Also notice that elements with the same value are also stored as many times they are inserted. Syntax: Unordered_multiset_name.insert(element) Pa 2 min read unordered_multiset emplace() function in C++ STL The unordered_multiset::emplace() is a built-in function in C++ STL which inserts a new element in the unordered_multiset container. The insertion is done automatically at the position according to the container's criterion. It increases the size of the container by one. Syntax: unordered_multiset_n 2 min read unordered_multiset find() function in C++STL The unordered_multiset::find() is a built-in function in C++ STL which returns an iterator which points to the position which has the element val. If the element does not contain the element val, then it returns an iterator which points to a position past the last element in the container. Syntax: u 2 min read unordered_multiset erase() function in C++ STL The unordered_multiset::erase() function is a built-in function in C++ STL which is used to remove either a single element or, all elements with a definite value or, a range of elements ranging from start(inclusive) to end(exclusive). This decreases the size of the container by the number of element 2 min read unordered_multiset count() function in C++ STL The unordered_multiset::count() is a built-in function in C++ STL which returns the count of elements in the unordered_multiset container which is equal to a given value. Syntax: unordered_multiset_name.count(val) Parameters: The function accepts a single mandatory parameter val which specifies the 2 min read Like