# [−][src]Crate cycle_sort

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. |