0Pricing
C++ Academy · Lesson

unordered_set

Hash-based unique elements.

What Is unordered_set?

std::unordered_set stores unique elements in a hash table. Membership tests are constant time on average, but there is no sorted order.

#include <iostream>
#include <unordered_set>

int main() {
    std::unordered_set<int> s{1, 2, 3, 2, 1};
    std::cout << s.size() << " unique values\n";
    return 0;
}

set vs unordered_set

Like maps:

  • set: sorted, O(log n).
  • unordered_set: unordered, O(1) average.

Pick unordered_set for the fastest membership checks.

#include <iostream>
#include <unordered_set>

int main() {
    std::unordered_set<std::string> seen{"a", "b", "c"};
    std::cout << (seen.count("b") ? "yes" : "no") << '\n';
    return 0;
}

All lessons in this course

  1. std::unordered_map
  2. unordered_set
  3. Custom Hash Functions
  4. Performance Considerations
← Back to C++ Academy