Intermediate6 min readLesson 38 of 50
What is a Set?
A set stores unique, sorted elements. Duplicate insertions are silently ignored. Include <set>.
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> primes = {2, 3, 5, 7, 11, 13};
primes.insert(5); // duplicate — ignored
primes.insert(17); // added
cout << "Size: " << primes.size() << endl;
for (int p : primes) cout << p << " ";
cout << endl;
cout << "Contains 7: " << primes.count(7) << endl;
cout << "Contains 10: " << primes.count(10) << endl;
primes.erase(3);
cout << "After erase 3, size: " << primes.size() << endl;
return 0;
}
Output:
Size: 7
2 3 5 7 11 13 17
Contains 7: 1
Contains 10: 0
After erase 3, size: 6
Common Use Cases
- Removing duplicates from a list
- Fast membership testing
- Maintaining a sorted unique collection
// Deduplicate a vector using a set
vector<int> nums = {5, 3, 8, 3, 5, 9, 1, 8};
set<int> unique(nums.begin(), nums.end());
for (int n : unique) cout << n << " ";
// 1 3 5 8 9
Exercise
Read a list of 10 integers. Use a set to find and print only the unique values in sorted order.
Show Solution
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> unique;
for (int i = 0; i < 10; i++) {
int n; cin >> n;
unique.insert(n);
}
cout << "Unique values: ";
for (int n : unique) cout << n << " ";
cout << endl;
return 0;
}
Quiz
What happens when you insert a duplicate into a set?
- A) An exception is thrown
- B) The set grows
- C) The duplicate is silently ignored
- D) The old value is replaced
Answer
C) Sets silently ignore duplicates — each element is stored once.
Summary
set<T> stores unique, automatically sorted elements.- Use
insert(), erase(), count(), find(). - Great for deduplication and fast membership checks.