Table of Contents

<set>

<set> is an ordered container of unique elements, maintained in sorted order via a red-black tree. Insertion, deletion, and lookup are O(log n). Use std::multiset to allow duplicates.

Use std::set when you need a sorted unique collection; use std::unordered_set if you don't need order.

Example

This example builds a set from a list with duplicates, showing automatic deduplication and sorted iteration.

// compile: g++ -std=c++11 -o setexample setexample.cpp
// run: ./setexample
// description: set insertion and iteration
 
#include <set>
#include <iostream>
 
int main() {
    std::set<int> numbers = {3, 1, 4, 1, 5};
 
    std::cout << "set (duplicates removed): ";
    for (int x : numbers) std::cout << x << " ";
    std::cout << "\n";
 
    numbers.insert(2);
    std::cout << "after insert(2): ";
    for (int x : numbers) std::cout << x << " ";
    std::cout << "\n";
 
    return 0;
}