Function cycle_sort::cycle_sort_by
[−]
[src]
pub fn cycle_sort_by<T, F>(slice: &mut [T], compare: &F) -> usize where
F: Fn(&T, &T) -> Ordering,
Sorts a slice using a comparator function and returns the number of writes made.
Examples
use cycle_sort::cycle_sort_by; // reverse sorting let mut a = ["davidii", "demissa", "deltoidea", "decapetala", "dahurica"]; let w = cycle_sort_by(&mut a, &|a, b| b.cmp(&a)); assert_eq!(a, ["demissa", "deltoidea", "decapetala", "davidii", "dahurica"]); assert_eq!(w, 4);