4 releases (2 breaking)
0.3.0 | Apr 5, 2019 |
---|---|
0.2.0 | Aug 29, 2018 |
0.1.1 | Feb 23, 2018 |
0.1.0 | Feb 23, 2018 |
#6 in #optimal
Used in crate-race
10KB
183 lines
cycle-sort
Rust library for sorting slices using Cycle sort. The functions follow the same semantics as in the standard library. I built this to learn Rust.
lib.rs
:
Simple Cycle sort implementation.
Cycle sort is an unstable comparison sort that minimizes the
number of writes. It has a best- and worst-case performance of
O(n^2)
, making it slow on large sets of data. It is useful when
writes are expensive and want to be reduced.
Because the algorithm performs in O(n^2)
for sorted lists, you
may want to consider checking if sorting is necessary before
actually sorting.
Safety
If the comparison function passed to cycle_sort_by
or the key
extraction function passed to cycle_sort_by_key
panics, the
data being sorted is likely to end up in an invalid state.