The std::partial_sort_copy is an unusual sorting algorithm. It doesn't require the source range to be random-access while providing O(n*logk) runtime complexity.
The algorithm will "copy" the top k elements to the output range (which is required to be random access) in sorted order.
Both C++17 parallel and C++20 range versions are available.
Compiler Explorer link: https://compiler-explorer.com/z/8ETMY6bzb