Home »
C++ STL
set::erase() function in C++ STL
C++ STL set::erase() function: Here, we are going to learn about the erase() function of set in C++ STL (Standard Template Library).
Submitted by Radib Kar, on February 16, 2019
C++ STL set::erase() function
set::erase() function is a predefined function, it is used to erase an element from a set.
The function is used to erase an element based on its value or iterator position from the set.
Syntax
set<T> st; //declaration
set<T>::iterator it; //iterator declaration
st.erase( const T item); //prototype 1
//or
st.erase(iterator position) //prototype 2
Parameter(s)
const T item; //prototype 1
Or
Iterator position //prototype 2
Return value
size_type //prototype 1
Or
void //prototype 2
Sample Input and Output
For a set of integer,
set<int> st;
set<int>::iterator it;
st.insert(4);
st.insert(5);
set content:
4
5
st.erase(4);
set content:
5
st.erase(st.begin()); //erases 5
set content:
empty set
Header file
Header file to be included:
#include <iostream>
#include <set>
OR
#include <bits/stdc++.h>
Example
#include <bits/stdc++.h>
using namespace std;
void printSet(set<int> st) {
set<int>::iterator it;
cout << "Set contents are:\n";
for (it = st.begin(); it != st.end(); it++) cout << *it << " ";
cout << endl;
}
int main() {
cout << "Example of erase function\n";
set<int> st;
set<int>::iterator it;
cout << "inserting 4\n";
st.insert(4);
cout << "inserting 6\n";
st.insert(6);
cout << "inserting 10\n";
st.insert(10);
printSet(st); // printing current set
cout << "erasing 6..\n";
st.erase(6); // prototype 1
cout << "After erasing 6...\n";
printSet(st);
cout << "erasing first element of the set now\n";
st.erase(st.begin()); // prototype 2
cout << "after erasing first element of set now\n";
printSet(st);
return 0;
}
Output
Example of erase function
inserting 4
inserting 6
inserting 10
Set contents are:
4 6 10
erasing 6..
After erasing 6...
Set contents are:
4 10
erasing first element of the set now
after erasing first element of set now
Set contents are:
10