Lines Matching refs:sort
25 use core::slice::sort;
181 /// This sort is stable (i.e., does not reorder equal elements) and *O*(*n* \* log(*n*)) worst-case.
189 /// The current algorithm is an adaptive, iterative merge sort inspired by
195 /// non-allocating insertion sort is used instead.
202 /// v.sort();
209 pub fn sort(&mut self)
218 /// This sort is stable (i.e., does not reorder equal elements) and *O*(*n* \* log(*n*)) worst-case.
228 /// `partial_cmp` as our sort function when we know the slice doesn't contain a `NaN`.
242 /// The current algorithm is an adaptive, iterative merge sort inspired by
248 /// non-allocating insertion sort is used instead.
274 /// This sort is stable (i.e., does not reorder equal elements) and *O*(*m* \* *n* \* log(*n*))
287 /// The current algorithm is an adaptive, iterative merge sort inspired by
293 /// non-allocating insertion sort is used instead.
322 /// This sort is stable (i.e., does not reorder equal elements) and *O*(*m* \* *n* + *n* \* log(*n*))
364 // The elements of `indices` are unique, as they are indexed, so any sort will be
869 let run_alloc_fn = |len: usize| -> *mut sort::TimSortRun {
873 alloc::alloc(alloc::Layout::array::<sort::TimSortRun>(len).unwrap_unchecked())
874 as *mut sort::TimSortRun
878 let run_dealloc_fn = |buf_ptr: *mut sort::TimSortRun, len: usize| {
884 alloc::Layout::array::<sort::TimSortRun>(len).unwrap_unchecked(),
889 sort::merge_sort(v, &mut is_less, elem_alloc_fn, elem_dealloc_fn, run_alloc_fn, run_dealloc_fn);