Expand description
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.
Functions§
- cycle_
sort - Sorts a slice using the elements’ natural ordering and returns the number of writes made.
- cycle_
sort_ by - Sorts a slice using a comparator function and returns the number of writes made.
- cycle_
sort_ by_ key - Sorts a slice with a key extraction function and returns the number of writes made.