Contents A-Z
    A-B
    C
    D-E
    F
    G-H
    I
    L
    M
    N
    P
    R
    S
    T
    U-Z

    Standard Range Algorithms C++20 Standard Range Algorithms C++20 Range Algos

    • single range objects (containers/views) can be used as input (before C++20: only iterator pairs)
    • input requirements are checked using Concepts
    • don't take part in Argument Dependent Lookup (= look up a function in namespaces of its arguments)

    Non-Modifying Operations Non-Modifying Non-Mod.

    Existence Queries Existence

    Finding / Locating Elements Locate

    finds the 1st matching position in rangeS of any element contained in rangeW

    Comparing Ranges Compare

    Binary Search of Sorted Ranges Binary Search Binary Search

    Minimum / Maximum Min/Max

    Structural Properties Structural

    Traversing Ranges Traversal

    Copying / Moving / Swapping Elements Copy/Move/Swap Copy/Move

    Reordering Elements Reordering Reorder

    Shifting Shift

    Sorting Sort

    Partitioning Partition

    Permutations Permute

    Heap Operations Heaps

    for using contiguous containers (std::array, std::vector, …) as a max heap, i.e., a (conceptual) binary tree where each parent has a larger value than its children

    learn more…

    Modifying Elements Modify

    Changing Values

    Replacing Values Replace

    Removing Remove

    Sorted Range Operations Sorted Ranges

    Numeric Operations Numeric


    legend of symbols and colors used in algorithm visualizations

    Beginner's Guide Articles Guide Articles