C++ STL Sets Program (Part 2)
In this tutorial, we will learn about the working of a Set and its implementation in the C++ programming language. We will also discuss how to store the elements in descending order as well as how to copy the elements of one set into another without using an iterator.
What is a Set?
In programming, a Set is used to store unique values of a list and also automatically providing an ordering to its elements. By default, the ordering is in ascending order.
The elements are inserted using the
insert() method. If the same value is inserted multiple times, the set automatically deletes the duplicates and only store the single copy of that element.
The elements of the Set are deleted using the
For a better understanding of its implementation, refer to the well-commented C++ code given below.
using namespace std;
//Function to print the elements of the set using an iterator
void show(set<int, greater<int>> s)
//declaring an iterator to iterate through the set
for (i = s.begin(); i != s.end(); i++)
cout << *i << " "; //accessing the elements of the set using * as i stores the address to each element
cout << endl;
cout << "\n\nWelcome to Studytonight :-)\n\n\n";
cout << " ===== Program to demonstrate the working of Sets (Part 2), in CPP ===== \n\n\n\n";
cout << " *** Set automatically removes the duplicate elements and also sorts the input in ascending order (by default) *** \n\n";
/* Set declaration (Set of integers)
Note: By default, the declaration set<int> s stores the elements in ascending order
But the below declaration stores them in decreasing order
set<int, greater<int>> s;
//Filling the elements by using the insert() method.
cout << "\n\nFilling the Set with integers in random order."; //Set automatically stores them in order
s.insert(64); //as 64 is added twice, but it will be stored only once in the set
cout << "\n\nThe number of elements in the Set are: " << s.size();
cout << "\n\nThe elements of the Set s are: ";
//Creating and initializing the set s2 with the elements of the set s
set<int, greater<int>> s2(s.begin(), s.end());
cout << "\n\nAfter copying the elements of the Set s into s2, the set s2 is : ";
cout << "\n\nThe number of elements in the Set s2 before using the erase() method are: " << s2.size();
cout << "\n\nAfter deleting the element 35 from the Set s2 using the erase() method, it becomes: ";
cout << "\n\nThe number of elements in the Set s2 after using the erase() method are: " << s2.size();
cout << "\n\n\n";
We hope that this post helped you develop a better understanding of the concept of Set and its implementation in C++. For any query, feel free to reach out to us via the comments section down below.
Keep Learning : )