public static void IndexedSortRef <TElement, TComparer>( ArraySegment <TElement> data, ArraySegment <int> indices, TComparer comparer ) where TComparer : IRefComparer <TElement> { var sorter = new IndexedSorter <TElement, TComparer>( data, indices, comparer ); sorter.Sort(0, data.Count); }
public static void IndexedSortRef <TElement, TComparer>( TElement[] data, int[] indices, TComparer comparer, int?offset = null, int?count = null ) where TComparer : IRefComparer <TElement> { int actualOffset = offset.GetValueOrDefault(0), actualCount = count.GetValueOrDefault(data.Length - actualOffset); var sorter = new IndexedSorter <TElement, TComparer>(data, indices, comparer); sorter.Sort( actualOffset, actualCount ); }