Поделиться через


Arrays.Sort Метод

Определение

Перегрузки

Sort(Object[], Int32, Int32, IComparator)

Сортирует указанный диапазон указанного массива объектов в соответствии с порядком, вызванным указанным компратором.

Sort(Byte[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

Sort(Single[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

Sort(Int64[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

Sort(Int32[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

Sort(Int16[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

Sort(Double[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

Sort(Char[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

Sort(Object[], Int32, Int32)

Сортирует указанный диапазон указанных массивов объектов в порядке возрастания в соответствии с сопоставимым естественным упорядочением его элементов.

Sort(Single[])

Сортирует указанный массив в числовой порядок по возрастанию.

Sort(Int64[])

Сортирует указанный массив в числовой порядок по возрастанию.

Sort(Int32[])

Сортирует указанный массив в числовой порядок по возрастанию.

Sort(Int16[])

Сортирует указанный массив в числовой порядок по возрастанию.

Sort(Double[])

Сортирует указанный массив в числовой порядок по возрастанию.

Sort(Char[])

Сортирует указанный массив в числовой порядок по возрастанию.

Sort(Byte[])

Сортирует указанный массив в числовой порядок по возрастанию.

Sort(Object[])

Сортирует указанный массив объектов в порядке возрастания в соответствии с аналогичным естественным упорядочением его элементов.

Sort(Object[], IComparator)

Сортирует указанный массив объектов в соответствии с порядком, вызванным указанным компратором.

Sort(Object[], Int32, Int32, IComparator)

Сортирует указанный диапазон указанного массива объектов в соответствии с порядком, вызванным указанным компратором.

[Android.Runtime.Register("sort", "([Ljava/lang/Object;IILjava/util/Comparator;)V", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static void Sort (Java.Lang.Object[] a, int fromIndex, int toIndex, Java.Util.IComparator? c);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;IILjava/util/Comparator;)V", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member Sort : Java.Lang.Object[] * int * int * Java.Util.IComparator -> unit

Параметры

a
Object[]

Отсортированный массив

fromIndex
Int32

Индекс первого элемента (включительно) для сортировки

toIndex
Int32

Индекс последнего элемента (монопольного) для сортировки

c
IComparator

компратор, определяющий порядок массива. null Значение указывает, что следует использовать сравнимое естественное упорядочение элементов.

Атрибуты

Комментарии

Сортирует указанный диапазон указанного массива объектов в соответствии с порядком, вызванным указанным компратором. Диапазон, который нужно отсортировать, расширяется от индекса fromIndex, включительно, до индекса toIndex, монопольного. (Если fromIndex==toIndexдиапазон для сортировки пуст.) Все элементы в диапазоне должны быть взаимосопоставимыми указанным компратором (т c.compare(e1, e2) . е. не должны вызываться ClassCastException для элементов e1 и e2 в диапазоне).

Этот сорт гарантированно будет стабильным: равные элементы не будут переупорядочены в результате сортировки.

Примечание о реализации. Эта реализация является стабильным, адаптивным итеративным слиянием, требующим гораздо меньше, чем n lg(n) сравнения при частичной сортировке входного массива, предлагая производительность традиционного слияния при случайном упорядочении входного массива. Если входной массив почти отсортирован, реализация требует приблизительно n сравнений. Требования к временному хранилищу зависят от небольшой константы для почти отсортированных входных массивов до ссылок на объекты n/2 для случайно упорядоченных входных массивов.

Реализация имеет равное преимущество возрастания и убывания в входном массиве и может использовать преимущества возрастания и убывания в разных частях одного входного массива. Он хорошо подходит для объединения двух или нескольких отсортированных массивов: просто сцепить массивы и сортировать результирующий массив.

Реализация была адаптирована от сортировки списка Тима Питерса для Python ( TimSort). Он использует методы из Питера Макилроя в "Оптимистичной сортировке и информационной теоретической сложности", в ходе проведения четвертого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам, pp 467-474, январь 1993 года.

Документация по Java для java.util.Arrays.sort(T[], int, int, java.util.Comparator<? super T>).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Byte[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

[Android.Runtime.Register("sort", "([BII)V", "")]
public static void Sort (byte[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([BII)V", "")>]
static member Sort : byte[] * int * int -> unit

Параметры

a
Byte[]

Отсортированный массив

fromIndex
Int32

Индекс первого элемента, включаемого включительно, для сортировки

toIndex
Int32

Индекс последнего элемента, монопольного, для сортировки

Атрибуты

Исключения

Значение if start > end.

Значение if start или end > array.length.

Комментарии

Сортирует указанный диапазон массива в порядке возрастания. Диапазон, который нужно отсортировать, расширяется от индекса fromIndex, включительно, к индексу toIndex, монопольным. Если fromIndex == toIndexдиапазон, который нужно отсортировать, пуст.

Документация по Java для java.util.Arrays.sort(byte[], int, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Single[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

[Android.Runtime.Register("sort", "([FII)V", "")]
public static void Sort (float[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([FII)V", "")>]
static member Sort : single[] * int * int -> unit

Параметры

a
Single[]

Отсортированный массив

fromIndex
Int32

Индекс первого элемента, включаемого включительно, для сортировки

toIndex
Int32

Индекс последнего элемента, монопольного, для сортировки

Атрибуты

Исключения

Значение if start > end.

Значение if start или end > array.length.

Комментарии

Сортирует указанный диапазон массива в порядке возрастания. Диапазон, который нужно отсортировать, расширяется от индекса fromIndex, включительно, к индексу toIndex, монопольным. Если fromIndex == toIndexдиапазон, который нужно отсортировать, пуст.

Реляционная < связь не предоставляет общий порядок всех значений с плавающей запятой: -0.0f == 0.0f это trueFloat.NaN значение не сравнивается ни меньше, ни больше, чем, ни равно любому значению, даже самому себе. Этот метод использует общий порядок, введенный методом Float#compareTo: -0.0f обрабатывается как меньше значения 0.0f и считается больше, чем любое другое значение, и Float.NaN все Float.NaN значения считаются равными.

Документация по Java для java.util.Arrays.sort(float[], int, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

См. также раздел

Применяется к

Sort(Int64[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

[Android.Runtime.Register("sort", "([JII)V", "")]
public static void Sort (long[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([JII)V", "")>]
static member Sort : int64[] * int * int -> unit

Параметры

a
Int64[]

Отсортированный массив

fromIndex
Int32

Индекс первого элемента, включаемого включительно, для сортировки

toIndex
Int32

Индекс последнего элемента, монопольного, для сортировки

Атрибуты

Исключения

Значение if start > end.

Значение if start или end > array.length.

Комментарии

Сортирует указанный диапазон массива в порядке возрастания. Диапазон, который нужно отсортировать, расширяется от индекса fromIndex, включительно, к индексу toIndex, монопольным. Если fromIndex == toIndexдиапазон, который нужно отсортировать, пуст.

Документация по Java для java.util.Arrays.sort(long[], int, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Int32[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

[Android.Runtime.Register("sort", "([III)V", "")]
public static void Sort (int[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([III)V", "")>]
static member Sort : int[] * int * int -> unit

Параметры

a
Int32[]

Отсортированный массив

fromIndex
Int32

Индекс первого элемента, включаемого включительно, для сортировки

toIndex
Int32

Индекс последнего элемента, монопольного, для сортировки

Атрибуты

Исключения

Значение if start > end.

Значение if start или end > array.length.

Комментарии

Сортирует указанный диапазон массива в порядке возрастания. Диапазон, который нужно отсортировать, расширяется от индекса fromIndex, включительно, к индексу toIndex, монопольным. Если fromIndex == toIndexдиапазон, который нужно отсортировать, пуст.

Документация по Java для java.util.Arrays.sort(int[], int, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Int16[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

[Android.Runtime.Register("sort", "([SII)V", "")]
public static void Sort (short[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([SII)V", "")>]
static member Sort : int16[] * int * int -> unit

Параметры

a
Int16[]

Отсортированный массив

fromIndex
Int32

Индекс первого элемента, включаемого включительно, для сортировки

toIndex
Int32

Индекс последнего элемента, монопольного, для сортировки

Атрибуты

Исключения

Значение if start > end.

Значение if start или end > array.length.

Комментарии

Сортирует указанный диапазон массива в порядке возрастания. Диапазон, который нужно отсортировать, расширяется от индекса fromIndex, включительно, к индексу toIndex, монопольным. Если fromIndex == toIndexдиапазон, который нужно отсортировать, пуст.

Документация по Java для java.util.Arrays.sort(short[], int, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Double[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

[Android.Runtime.Register("sort", "([DII)V", "")]
public static void Sort (double[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([DII)V", "")>]
static member Sort : double[] * int * int -> unit

Параметры

a
Double[]

Отсортированный массив

fromIndex
Int32

Индекс первого элемента, включаемого включительно, для сортировки

toIndex
Int32

Индекс последнего элемента, монопольного, для сортировки

Атрибуты

Исключения

Значение if start > end.

Значение if start или end > array.length.

Комментарии

Сортирует указанный диапазон массива в порядке возрастания. Диапазон, который нужно отсортировать, расширяется от индекса fromIndex, включительно, к индексу toIndex, монопольным. Если fromIndex == toIndexдиапазон, который нужно отсортировать, пуст.

Реляционная < связь не предоставляет общий порядок для всех двойных значений: -0.0d == 0.0d это trueDouble.NaN значение не сравнивает ни меньше, ни больше, ни равное любому значению, даже самому себе. Этот метод использует общий порядок, введенный методом Double#compareTo: -0.0d обрабатывается как меньше значения 0.0d и считается больше, чем любое другое значение, и Double.NaN все Double.NaN значения считаются равными.

Документация по Java для java.util.Arrays.sort(double[], int, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

См. также раздел

Применяется к

Sort(Char[], Int32, Int32)

Сортирует указанный диапазон массива в порядке возрастания.

[Android.Runtime.Register("sort", "([CII)V", "")]
public static void Sort (char[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([CII)V", "")>]
static member Sort : char[] * int * int -> unit

Параметры

a
Char[]

Отсортированный массив

fromIndex
Int32

Индекс первого элемента, включаемого включительно, для сортировки

toIndex
Int32

Индекс последнего элемента, монопольного, для сортировки

Атрибуты

Исключения

Значение if start > end.

Значение if start или end > array.length.

Комментарии

Сортирует указанный диапазон массива в порядке возрастания. Диапазон, который нужно отсортировать, расширяется от индекса fromIndex, включительно, к индексу toIndex, монопольным. Если fromIndex == toIndexдиапазон, который нужно отсортировать, пуст.

Документация по Java для java.util.Arrays.sort(char[], int, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Object[], Int32, Int32)

Сортирует указанный диапазон указанных массивов объектов в порядке возрастания в соответствии с сопоставимым естественным упорядочением его элементов.

[Android.Runtime.Register("sort", "([Ljava/lang/Object;II)V", "")]
public static void Sort (Java.Lang.Object[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;II)V", "")>]
static member Sort : Java.Lang.Object[] * int * int -> unit

Параметры

a
Object[]

Отсортированный массив

fromIndex
Int32

Индекс первого элемента (включительно) для сортировки

toIndex
Int32

Индекс последнего элемента (монопольного) для сортировки

Атрибуты

Исключения

Значение , если какой-либо элемент не реализуется Comparableили compareTo вызывается для любой пары элементов.

Значение if start > end.

Значение if start или end > array.length.

Комментарии

Сортирует указанный диапазон указанных массивов объектов в порядке возрастания в соответствии с сопоставимым естественным упорядочением его элементов. Диапазон, который нужно отсортировать, расширяется от индекса fromIndex, включительно, до индекса toIndex, монопольного. (Если fromIndex==toIndexдиапазон для сортировки пуст.) Все элементы в этом диапазоне Comparable должны реализовать интерфейс. Кроме того, все элементы в этом диапазоне должны быть взаимосопоставимымиe1.compareTo(e2) . е. не должны вызываться ClassCastException для элементов e1 и e2 массива).

Этот сорт гарантированно будет стабильным: равные элементы не будут переупорядочены в результате сортировки.

Примечание о реализации. Эта реализация является стабильным, адаптивным итеративным слиянием, требующим гораздо меньше, чем n lg(n) сравнения при частичной сортировке входного массива, предлагая производительность традиционного слияния при случайном упорядочении входного массива. Если входной массив почти отсортирован, реализация требует приблизительно n сравнений. Требования к временному хранилищу зависят от небольшой константы для почти отсортированных входных массивов до ссылок на объекты n/2 для случайно упорядоченных входных массивов.

Реализация имеет равное преимущество возрастания и убывания в входном массиве и может использовать преимущества возрастания и убывания в разных частях одного входного массива. Он хорошо подходит для объединения двух или нескольких отсортированных массивов: просто сцепить массивы и сортировать результирующий массив.

Реализация была адаптирована от сортировки списка Тима Питерса для Python ( TimSort). Он использует методы из Питера Макилроя в "Оптимистичной сортировке и информационной теоретической сложности", в ходе проведения четвертого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам, pp 467-474, январь 1993 года.

Документация по Java для java.util.Arrays.sort(java.lang.Object[], int, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Single[])

Сортирует указанный массив в числовой порядок по возрастанию.

[Android.Runtime.Register("sort", "([F)V", "")]
public static void Sort (float[] a);
[<Android.Runtime.Register("sort", "([F)V", "")>]
static member Sort : single[] -> unit

Параметры

a
Single[]

Отсортированный массив

Атрибуты

Комментарии

Сортирует указанный массив в числовой порядок по возрастанию.

Реляционная < связь не предоставляет общий порядок всех значений с плавающей запятой: -0.0f == 0.0f это trueFloat.NaN значение не сравнивается ни меньше, ни больше, чем, ни равно любому значению, даже самому себе. Этот метод использует общий порядок, введенный методом Float#compareTo: -0.0f обрабатывается как меньше значения 0.0f и считается больше, чем любое другое значение, и Float.NaN все Float.NaN значения считаются равными.

Документация по Java для java.util.Arrays.sort(float[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

См. также раздел

  • <xref:Java.Util.Arrays.Sort(System.Single%5b%5d%2c+System.Int32%2c+System.Int32)>

Применяется к

Sort(Int64[])

Сортирует указанный массив в числовой порядок по возрастанию.

[Android.Runtime.Register("sort", "([J)V", "")]
public static void Sort (long[] a);
[<Android.Runtime.Register("sort", "([J)V", "")>]
static member Sort : int64[] -> unit

Параметры

a
Int64[]

Отсортированный массив

Атрибуты

Комментарии

Сортирует указанный массив в числовой порядок по возрастанию.

Документация по Java для java.util.Arrays.sort(long[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Int32[])

Сортирует указанный массив в числовой порядок по возрастанию.

[Android.Runtime.Register("sort", "([I)V", "")]
public static void Sort (int[] a);
[<Android.Runtime.Register("sort", "([I)V", "")>]
static member Sort : int[] -> unit

Параметры

a
Int32[]

Отсортированный массив

Атрибуты

Комментарии

Сортирует указанный массив в числовой порядок по возрастанию.

Документация по Java для java.util.Arrays.sort(int[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Int16[])

Сортирует указанный массив в числовой порядок по возрастанию.

[Android.Runtime.Register("sort", "([S)V", "")]
public static void Sort (short[] a);
[<Android.Runtime.Register("sort", "([S)V", "")>]
static member Sort : int16[] -> unit

Параметры

a
Int16[]

Отсортированный массив

Атрибуты

Комментарии

Сортирует указанный массив в числовой порядок по возрастанию.

Документация по Java для java.util.Arrays.sort(short[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Double[])

Сортирует указанный массив в числовой порядок по возрастанию.

[Android.Runtime.Register("sort", "([D)V", "")]
public static void Sort (double[] a);
[<Android.Runtime.Register("sort", "([D)V", "")>]
static member Sort : double[] -> unit

Параметры

a
Double[]

Отсортированный массив

Атрибуты

Комментарии

Сортирует указанный массив в числовой порядок по возрастанию.

Реляционная < связь не предоставляет общий порядок для всех двойных значений: -0.0d == 0.0d это trueDouble.NaN значение не сравнивает ни меньше, ни больше, ни равное любому значению, даже самому себе. Этот метод использует общий порядок, введенный методом Double#compareTo: -0.0d обрабатывается как меньше значения 0.0d и считается больше, чем любое другое значение, и Double.NaN все Double.NaN значения считаются равными.

Документация по Java для java.util.Arrays.sort(double[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

См. также раздел

  • <xref:Java.Util.Arrays.Sort(System.Double%5b%5d%2c+System.Int32%2c+System.Int32)>

Применяется к

Sort(Char[])

Сортирует указанный массив в числовой порядок по возрастанию.

[Android.Runtime.Register("sort", "([C)V", "")]
public static void Sort (char[] a);
[<Android.Runtime.Register("sort", "([C)V", "")>]
static member Sort : char[] -> unit

Параметры

a
Char[]

Отсортированный массив

Атрибуты

Комментарии

Сортирует указанный массив в числовой порядок по возрастанию.

Документация по Java для java.util.Arrays.sort(char[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Byte[])

Сортирует указанный массив в числовой порядок по возрастанию.

[Android.Runtime.Register("sort", "([B)V", "")]
public static void Sort (byte[] a);
[<Android.Runtime.Register("sort", "([B)V", "")>]
static member Sort : byte[] -> unit

Параметры

a
Byte[]

Отсортированный массив

Атрибуты

Комментарии

Сортирует указанный массив в числовой порядок по возрастанию.

Документация по Java для java.util.Arrays.sort(byte[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Object[])

Сортирует указанный массив объектов в порядке возрастания в соответствии с аналогичным естественным упорядочением его элементов.

[Android.Runtime.Register("sort", "([Ljava/lang/Object;)V", "")]
public static void Sort (Java.Lang.Object[] a);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;)V", "")>]
static member Sort : Java.Lang.Object[] -> unit

Параметры

a
Object[]

Отсортированный массив

Атрибуты

Исключения

Значение , если какой-либо элемент не реализуется Comparableили compareTo вызывается для любой пары элементов.

Комментарии

Сортирует указанный массив объектов в порядке возрастания в соответствии с аналогичным естественным упорядочением его элементов. Все элементы в массиве Comparable должны реализовывать интерфейс. Кроме того, все элементы в массиве должны быть взаимосопоставимымиe1.compareTo(e2) . е. не должны вызываться ClassCastException для элементов e1 и e2 массива).

Этот сорт гарантированно будет стабильным: равные элементы не будут переупорядочены в результате сортировки.

Примечание о реализации. Эта реализация является стабильным, адаптивным итеративным слиянием, требующим гораздо меньше, чем n lg(n) сравнения при частичной сортировке входного массива, предлагая производительность традиционного слияния при случайном упорядочении входного массива. Если входной массив почти отсортирован, реализация требует приблизительно n сравнений. Требования к временному хранилищу зависят от небольшой константы для почти отсортированных входных массивов до ссылок на объекты n/2 для случайно упорядоченных входных массивов.

Реализация имеет равное преимущество возрастания и убывания в входном массиве и может использовать преимущества возрастания и убывания в разных частях одного входного массива. Он хорошо подходит для объединения двух или нескольких отсортированных массивов: просто сцепить массивы и сортировать результирующий массив.

Реализация была адаптирована от сортировки списка Тима Питерса для Python ( TimSort). Он использует методы из Питера Макилроя в "Оптимистичной сортировке и информационной теоретической сложности", в ходе проведения четвертого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам, pp 467-474, январь 1993 года.

Документация по Java для java.util.Arrays.sort(java.lang.Object[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

Sort(Object[], IComparator)

Сортирует указанный массив объектов в соответствии с порядком, вызванным указанным компратором.

[Android.Runtime.Register("sort", "([Ljava/lang/Object;Ljava/util/Comparator;)V", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static void Sort (Java.Lang.Object[] a, Java.Util.IComparator? c);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;Ljava/util/Comparator;)V", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member Sort : Java.Lang.Object[] * Java.Util.IComparator -> unit

Параметры

a
Object[]

Отсортированный массив

c
IComparator

компратор, определяющий порядок массива. null Значение указывает, что следует использовать сравнимое естественное упорядочение элементов.

Атрибуты

Комментарии

Сортирует указанный массив объектов в соответствии с порядком, вызванным указанным компратором. Все элементы в массиве должны быть взаимоисключаемыми с помощью указанного компратора (т c.compare(e1, e2) . е. не должны вызываться ClassCastException для элементов e1 и e2 массива).

Этот сорт гарантированно будет стабильным: равные элементы не будут переупорядочены в результате сортировки.

Примечание о реализации. Эта реализация является стабильным, адаптивным итеративным слиянием, требующим гораздо меньше, чем n lg(n) сравнения при частичной сортировке входного массива, предлагая производительность традиционного слияния при случайном упорядочении входного массива. Если входной массив почти отсортирован, реализация требует приблизительно n сравнений. Требования к временному хранилищу зависят от небольшой константы для почти отсортированных входных массивов до ссылок на объекты n/2 для случайно упорядоченных входных массивов.

Реализация имеет равное преимущество возрастания и убывания в входном массиве и может использовать преимущества возрастания и убывания в разных частях одного входного массива. Он хорошо подходит для объединения двух или нескольких отсортированных массивов: просто сцепить массивы и сортировать результирующий массив.

Реализация была адаптирована от сортировки списка Тима Питерса для Python ( TimSort). Он использует методы из Питера Макилроя в "Оптимистичной сортировке и информационной теоретической сложности", в ходе проведения четвертого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам, pp 467-474, январь 1993 года.

Документация по Java для java.util.Arrays.sort(T[], java.util.Comparator<? super T>).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к