std::set
Ordered unique elements.
What Is std::set?
std::set stores unique elements in sorted order. There are no duplicates, and lookups run in logarithmic time.
- Keys are also the values.
- Great for membership tests and de-duplication.
#include <iostream>
#include <set>
int main() {
std::set<int> s{3, 1, 2, 1, 3};
for (int x : s) std::cout << x << ' ';
std::cout << '\n';
return 0;
}Inserting Values
Use insert() to add elements. Inserting a value that already exists is simply ignored.
#include <iostream>
#include <set>
int main() {
std::set<std::string> s;
s.insert("apple");
s.insert("banana");
s.insert("apple");
std::cout << s.size() << " unique items\n";
return 0;
}