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ยง
- sort
- See
slice::sort
. - sort_by
- See
slice::sort_by
. - sort_
by_ key - See
slice::sort_by_key
. - sort_
in_ vec - Like
sort
, except this function allocates its space at the end of the givenVec
. - sort_
in_ vec_ by - Like
sort_by
, except this function allocates its space at the end of the givenVec
. - sort_
in_ vec_ by_ key - Like
sort_by_key
, except this function allocates its space at the end of the givenVec
. - sort_
with_ buffer - Like
sort
, except this function does not allocate and uses the passed buffer instead. - sort_
with_ buffer_ by - Like
sort_by
, except this function does not allocate and uses the passed buffer instead. - sort_
with_ buffer_ by_ key - Like
sort_by_key
, except this function does not allocate and uses the passed buffer instead. - sort_
with_ vec - Like
sort
, except this function allocates its scratch space withscratch_buf.reserve(_)
. - sort_
with_ vec_ by - Like
sort_by
, except this function allocates its scratch space withscratch_buf.reserve(_)
. - sort_
with_ vec_ by_ key - Like
sort_by_key
, except this function allocates its scratch space withscratch_buf.reserve(_)
.