Crate glidesort

source ·
Expand description

Glidesort is a novel stable sorting algorithm that combines the best-case behavior of Timsort-style merge sorts for pre-sorted data with the best-case behavior of pattern-defeating quicksort for data with many duplicates. It is a comparison-based sort supporting arbitrary comparison operators, and while exceptional on data with patterns it is also very fast for random data.

For more information see the readme.

Functions

Like sort, except this function allocates its space at the end of the given Vec.
Like sort_by, except this function allocates its space at the end of the given Vec.
Like sort_by_key, except this function allocates its space at the end of the given Vec.
Like sort, except this function does not allocate and uses the passed buffer instead.
Like sort_by, except this function does not allocate and uses the passed buffer instead.
Like sort_by_key, except this function does not allocate and uses the passed buffer instead.
Like sort, except this function allocates its scratch space with scratch_buf.reserve(_).
Like sort_by, except this function allocates its scratch space with scratch_buf.reserve(_).
Like sort_by_key, except this function allocates its scratch space with scratch_buf.reserve(_).