1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
use std::cmp::Ordering; use sorting::*; impl<T: Ord + Clone> Sort for [T] { fn adv_sort_mut(&mut self, algo: SortingAlgorithmn) { match algo { SortingAlgorithmn::Bubble => bubble_sort_mut(self), SortingAlgorithmn::Quick => quick_sort_mut(self), } } } impl<T: PartialOrd, F: FnMut(&T, &T) -> Ordering> SortBy<T, F> for [T] { fn adv_sort_by_mut(&mut self, compare: &mut F, algo: SortingAlgorithmn) { match algo { SortingAlgorithmn::Bubble => bubble_sort_by_mut(compare, self), SortingAlgorithmn::Quick => quick_sort_by_mut(compare, self), } } }