Exemple #1
0
        public static void Sort <T>(
            SegmentedArray <T> array,
            int index,
            int length,
            IComparer <T>?comparer
            )
        {
            if (index < 0)
            {
                ThrowHelper.ThrowIndexArgumentOutOfRange_NeedNonNegNumException();
            }
            if (length < 0)
            {
                ThrowHelper.ThrowLengthArgumentOutOfRange_ArgumentOutOfRange_NeedNonNegNum();
            }
            if (array.Length - index < length)
            {
                ThrowHelper.ThrowArgumentException(ExceptionResource.Argument_InvalidOffLen);
            }

            if (length > 1)
            {
                var segment = new SegmentedArraySegment <T>(array, index, length);
                SegmentedArraySortHelper <T> .Sort(segment, comparer);
            }
        }
Exemple #2
0
 public static void Sort <T>(SegmentedArray <T> array)
 {
     if (array.Length > 1)
     {
         var segment = new SegmentedArraySegment <T>(array, 0, array.Length);
         SegmentedArraySortHelper <T> .Sort(segment, (IComparer <T>?) null);
     }
 }
Exemple #3
0
        public static void Sort <T>(SegmentedArray <T> array, Comparison <T> comparison)
        {
            if (comparison is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.comparison);
            }

            if (array.Length > 1)
            {
                var segment = new SegmentedArraySegment <T>(array, 0, array.Length);
                SegmentedArraySortHelper <T> .Sort(segment, comparison);
            }
        }