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
Индекс последнего элемента (монопольного) для сортировки
компратор, определяющий порядок массива. 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
это true
Float.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
это true
Double.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
это true
Float.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
это true
Double.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[]
Отсортированный массив
компратор, определяющий порядок массива. 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.