Compartilhar via


Arrays.Sort Método

Definição

Sobrecargas

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

Classifica o intervalo especificado da matriz especificada de objetos de acordo com a ordem induzida pelo comparador especificado.

Sort(Byte[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

Sort(Single[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

Sort(Int64[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

Sort(Int32[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

Sort(Int16[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

Sort(Double[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

Sort(Char[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

Sort(Object[], Int32, Int32)

Classifica o intervalo especificado da matriz especificada de objetos em ordem crescente, de acordo com a ordem natural comparável de seus elementos.

Sort(Single[])

Classifica a matriz especificada em ordem numérica crescente.

Sort(Int64[])

Classifica a matriz especificada em ordem numérica crescente.

Sort(Int32[])

Classifica a matriz especificada em ordem numérica crescente.

Sort(Int16[])

Classifica a matriz especificada em ordem numérica crescente.

Sort(Double[])

Classifica a matriz especificada em ordem numérica crescente.

Sort(Char[])

Classifica a matriz especificada em ordem numérica crescente.

Sort(Byte[])

Classifica a matriz especificada em ordem numérica crescente.

Sort(Object[])

Classifica a matriz especificada de objetos em ordem crescente, de acordo com a ordem natural comparável de seus elementos.

Sort(Object[], IComparator)

Classifica a matriz especificada de objetos de acordo com a ordem induzida pelo comparador especificado.

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

Classifica o intervalo especificado da matriz especificada de objetos de acordo com a ordem induzida pelo comparador especificado.

[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

Parâmetros

a
Object[]

A matriz a ser classificada

fromIndex
Int32

o índice do primeiro elemento (inclusive) a ser classificado

toIndex
Int32

o índice do último elemento (exclusivo) a ser classificado

c
IComparator

o comparador para determinar a ordem da matriz. Um null valor indica que a ordenação natural comparável dos elementos deve ser usada.

Atributos

Comentários

Classifica o intervalo especificado da matriz especificada de objetos de acordo com a ordem induzida pelo comparador especificado. O intervalo a ser classificado se estende de índice fromIndex, inclusive, a índice toIndex, exclusivo. (Se fromIndex==toIndex, o intervalo a ser classificado estiver vazio.) Todos os elementos no intervalo devem ser mutuamente comparáveis pelo comparador especificado (ou seja, c.compare(e1, e2) não devem lançar um ClassCastException para nenhum elemento e1 e e2 no intervalo).

Esta classificação é garantidamente estável: elementos iguais não serão reordenados como resultado da classificação.

Nota de implementação: Esta implementação é uma mergesort estável, adaptativa e iterativa que requer muito menos do que n lg(n) comparações quando a matriz de entrada é parcialmente classificada, enquanto oferece o desempenho de uma mergesort tradicional quando a matriz de entrada é ordenada aleatoriamente. Se a matriz de entrada estiver quase classificada, a implementação exigirá aproximadamente n comparações. Os requisitos de armazenamento temporário variam de uma pequena constante para matrizes de entrada quase classificadas a referências de objeto n/2 para matrizes de entrada ordenadas aleatoriamente.

A implementação aproveita igualmente a ordem crescente e decrescente em sua matriz de entrada e pode aproveitar a ordem crescente e decrescente em diferentes partes da mesma matriz de entrada. Ele é adequado para mesclar dois ou mais arrays classificados: basta concatenar os arrays e classificar o array resultante.

A implementação foi adaptada da classificação de lista de Tim Peters para Python ( TimSort). Utiliza técnicas de Peter McIlroy "Optimistic Sorting and Information Theoretic Complexity", em Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, pp 467-474, janeiro de 1993.

Documentação Java para java.util.Arrays.sort(T[], int, int, java.util.Comparator<? super T>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Byte[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

[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

Parâmetros

a
Byte[]

A matriz a ser classificada

fromIndex
Int32

o índice do primeiro elemento, inclusive, a ser classificado

toIndex
Int32

o índice do último elemento, exclusivo, a ser classificado

Atributos

Exceções

se start > end.

se start ou end > array.length.

Comentários

Classifica o intervalo especificado da matriz em ordem crescente. O intervalo a ser classificado se estende do índice fromIndex, inclusive, ao índice toIndex, exclusivo. Se fromIndex == toIndex, o intervalo a ser classificado está vazio.

Documentação Java para java.util.Arrays.sort(byte[], int, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Single[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

[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

Parâmetros

a
Single[]

A matriz a ser classificada

fromIndex
Int32

o índice do primeiro elemento, inclusive, a ser classificado

toIndex
Int32

o índice do último elemento, exclusivo, a ser classificado

Atributos

Exceções

se start > end.

se start ou end > array.length.

Comentários

Classifica o intervalo especificado da matriz em ordem crescente. O intervalo a ser classificado se estende do índice fromIndex, inclusive, ao índice toIndex, exclusivo. Se fromIndex == toIndex, o intervalo a ser classificado está vazio.

A < relação não fornece uma ordem total em todos os valores flutuantes: -0.0f == 0.0f é true e um Float.NaN valor não se compara nem menos que, maior que, nem igual a qualquer valor, mesmo a si mesmo. Este método usa a ordem total imposta pelo método Float#compareTo: -0.0f é tratado como menor que o valor 0.0f e Float.NaN é considerado maior do que qualquer outro valor e todos os Float.NaN valores são considerados iguais.

Documentação Java para java.util.Arrays.sort(float[], int, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Confira também

Aplica-se a

Sort(Int64[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

[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

Parâmetros

a
Int64[]

A matriz a ser classificada

fromIndex
Int32

o índice do primeiro elemento, inclusive, a ser classificado

toIndex
Int32

o índice do último elemento, exclusivo, a ser classificado

Atributos

Exceções

se start > end.

se start ou end > array.length.

Comentários

Classifica o intervalo especificado da matriz em ordem crescente. O intervalo a ser classificado se estende do índice fromIndex, inclusive, ao índice toIndex, exclusivo. Se fromIndex == toIndex, o intervalo a ser classificado está vazio.

Documentação Java para java.util.Arrays.sort(long[], int, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Int32[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

[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

Parâmetros

a
Int32[]

A matriz a ser classificada

fromIndex
Int32

o índice do primeiro elemento, inclusive, a ser classificado

toIndex
Int32

o índice do último elemento, exclusivo, a ser classificado

Atributos

Exceções

se start > end.

se start ou end > array.length.

Comentários

Classifica o intervalo especificado da matriz em ordem crescente. O intervalo a ser classificado se estende do índice fromIndex, inclusive, ao índice toIndex, exclusivo. Se fromIndex == toIndex, o intervalo a ser classificado está vazio.

Documentação Java para java.util.Arrays.sort(int[], int, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Int16[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

[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

Parâmetros

a
Int16[]

A matriz a ser classificada

fromIndex
Int32

o índice do primeiro elemento, inclusive, a ser classificado

toIndex
Int32

o índice do último elemento, exclusivo, a ser classificado

Atributos

Exceções

se start > end.

se start ou end > array.length.

Comentários

Classifica o intervalo especificado da matriz em ordem crescente. O intervalo a ser classificado se estende do índice fromIndex, inclusive, ao índice toIndex, exclusivo. Se fromIndex == toIndex, o intervalo a ser classificado está vazio.

Documentação Java para java.util.Arrays.sort(short[], int, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Double[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

[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

Parâmetros

a
Double[]

A matriz a ser classificada

fromIndex
Int32

o índice do primeiro elemento, inclusive, a ser classificado

toIndex
Int32

o índice do último elemento, exclusivo, a ser classificado

Atributos

Exceções

se start > end.

se start ou end > array.length.

Comentários

Classifica o intervalo especificado da matriz em ordem crescente. O intervalo a ser classificado se estende do índice fromIndex, inclusive, ao índice toIndex, exclusivo. Se fromIndex == toIndex, o intervalo a ser classificado está vazio.

A < relação não fornece uma ordem total em todos os valores duplos: -0.0d == 0.0d é true e um Double.NaN valor não se compara nem menos que, maior que, nem igual a qualquer valor, mesmo a si mesmo. Este método usa a ordem total imposta pelo método Double#compareTo: -0.0d é tratado como menor que o valor 0.0d e Double.NaN é considerado maior do que qualquer outro valor e todos os Double.NaN valores são considerados iguais.

Documentação Java para java.util.Arrays.sort(double[], int, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Confira também

Aplica-se a

Sort(Char[], Int32, Int32)

Classifica o intervalo especificado da matriz em ordem crescente.

[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

Parâmetros

a
Char[]

A matriz a ser classificada

fromIndex
Int32

o índice do primeiro elemento, inclusive, a ser classificado

toIndex
Int32

o índice do último elemento, exclusivo, a ser classificado

Atributos

Exceções

se start > end.

se start ou end > array.length.

Comentários

Classifica o intervalo especificado da matriz em ordem crescente. O intervalo a ser classificado se estende do índice fromIndex, inclusive, ao índice toIndex, exclusivo. Se fromIndex == toIndex, o intervalo a ser classificado está vazio.

Documentação Java para java.util.Arrays.sort(char[], int, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Object[], Int32, Int32)

Classifica o intervalo especificado da matriz especificada de objetos em ordem crescente, de acordo com a ordem natural comparável de seus elementos.

[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

Parâmetros

a
Object[]

A matriz a ser classificada

fromIndex
Int32

o índice do primeiro elemento (inclusive) a ser classificado

toIndex
Int32

o índice do último elemento (exclusivo) a ser classificado

Atributos

Exceções

se algum elemento não implementar Comparable, ou se compareTo lança para qualquer par de elementos.

se start > end.

se start ou end > array.length.

Comentários

Classifica o intervalo especificado da matriz especificada de objetos em ordem crescente, de acordo com a ordem natural comparável de seus elementos. O intervalo a ser classificado se estende de índice fromIndex, inclusive, a índice toIndex, exclusivo. (Se fromIndex==toIndex, o intervalo a ser classificado estiver vazio.) Todos os elementos nesse intervalo devem implementar a Comparable interface. Além disso, todos os elementos nesse intervalo devem ser mutuamente comparáveis (ou seja, e1.compareTo(e2) não devem lançar um ClassCastException para nenhum elemento e1 e e2 na matriz).

Esta classificação é garantidamente estável: elementos iguais não serão reordenados como resultado da classificação.

Nota de implementação: Esta implementação é uma mergesort estável, adaptativa e iterativa que requer muito menos do que n lg(n) comparações quando a matriz de entrada é parcialmente classificada, enquanto oferece o desempenho de uma mergesort tradicional quando a matriz de entrada é ordenada aleatoriamente. Se a matriz de entrada estiver quase classificada, a implementação exigirá aproximadamente n comparações. Os requisitos de armazenamento temporário variam de uma pequena constante para matrizes de entrada quase classificadas a referências de objeto n/2 para matrizes de entrada ordenadas aleatoriamente.

A implementação aproveita igualmente a ordem crescente e decrescente em sua matriz de entrada e pode aproveitar a ordem crescente e decrescente em diferentes partes da mesma matriz de entrada. Ele é adequado para mesclar dois ou mais arrays classificados: basta concatenar os arrays e classificar o array resultante.

A implementação foi adaptada da classificação de lista de Tim Peters para Python ( TimSort). Utiliza técnicas de Peter McIlroy "Optimistic Sorting and Information Theoretic Complexity", em Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, pp 467-474, janeiro de 1993.

Documentação Java para java.util.Arrays.sort(java.lang.Object[], int, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Single[])

Classifica a matriz especificada em ordem numérica crescente.

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

Parâmetros

a
Single[]

A matriz a ser classificada

Atributos

Comentários

Classifica a matriz especificada em ordem numérica crescente.

A < relação não fornece uma ordem total em todos os valores flutuantes: -0.0f == 0.0f é true e um Float.NaN valor não se compara nem menos que, maior que, nem igual a qualquer valor, mesmo a si mesmo. Este método usa a ordem total imposta pelo método Float#compareTo: -0.0f é tratado como menor que o valor 0.0f e Float.NaN é considerado maior do que qualquer outro valor e todos os Float.NaN valores são considerados iguais.

Documentação Java para java.util.Arrays.sort(float[]).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Confira também

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

Aplica-se a

Sort(Int64[])

Classifica a matriz especificada em ordem numérica crescente.

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

Parâmetros

a
Int64[]

A matriz a ser classificada

Atributos

Comentários

Classifica a matriz especificada em ordem numérica crescente.

Documentação Java para java.util.Arrays.sort(long[]).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Int32[])

Classifica a matriz especificada em ordem numérica crescente.

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

Parâmetros

a
Int32[]

A matriz a ser classificada

Atributos

Comentários

Classifica a matriz especificada em ordem numérica crescente.

Documentação Java para java.util.Arrays.sort(int[]).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Int16[])

Classifica a matriz especificada em ordem numérica crescente.

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

Parâmetros

a
Int16[]

A matriz a ser classificada

Atributos

Comentários

Classifica a matriz especificada em ordem numérica crescente.

Documentação Java para java.util.Arrays.sort(short[]).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Double[])

Classifica a matriz especificada em ordem numérica crescente.

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

Parâmetros

a
Double[]

A matriz a ser classificada

Atributos

Comentários

Classifica a matriz especificada em ordem numérica crescente.

A < relação não fornece uma ordem total em todos os valores duplos: -0.0d == 0.0d é true e um Double.NaN valor não se compara nem menos que, maior que, nem igual a qualquer valor, mesmo a si mesmo. Este método usa a ordem total imposta pelo método Double#compareTo: -0.0d é tratado como menor que o valor 0.0d e Double.NaN é considerado maior do que qualquer outro valor e todos os Double.NaN valores são considerados iguais.

Documentação Java para java.util.Arrays.sort(double[]).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Confira também

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

Aplica-se a

Sort(Char[])

Classifica a matriz especificada em ordem numérica crescente.

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

Parâmetros

a
Char[]

A matriz a ser classificada

Atributos

Comentários

Classifica a matriz especificada em ordem numérica crescente.

Documentação Java para java.util.Arrays.sort(char[]).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Byte[])

Classifica a matriz especificada em ordem numérica crescente.

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

Parâmetros

a
Byte[]

A matriz a ser classificada

Atributos

Comentários

Classifica a matriz especificada em ordem numérica crescente.

Documentação Java para java.util.Arrays.sort(byte[]).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Object[])

Classifica a matriz especificada de objetos em ordem crescente, de acordo com a ordem natural comparável de seus elementos.

[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

Parâmetros

a
Object[]

A matriz a ser classificada

Atributos

Exceções

se algum elemento não implementar Comparable, ou se compareTo lança para qualquer par de elementos.

Comentários

Classifica a matriz especificada de objetos em ordem crescente, de acordo com a ordem natural comparável de seus elementos. Todos os elementos na matriz devem implementar a Comparable interface. Além disso, todos os elementos na matriz devem ser mutuamente comparáveis (ou seja, e1.compareTo(e2) não devem lançar um ClassCastException para nenhum elemento e1 e e2 na matriz).

Esta classificação é garantidamente estável: elementos iguais não serão reordenados como resultado da classificação.

Nota de implementação: Esta implementação é uma mergesort estável, adaptativa e iterativa que requer muito menos do que n lg(n) comparações quando a matriz de entrada é parcialmente classificada, enquanto oferece o desempenho de uma mergesort tradicional quando a matriz de entrada é ordenada aleatoriamente. Se a matriz de entrada estiver quase classificada, a implementação exigirá aproximadamente n comparações. Os requisitos de armazenamento temporário variam de uma pequena constante para matrizes de entrada quase classificadas a referências de objeto n/2 para matrizes de entrada ordenadas aleatoriamente.

A implementação aproveita igualmente a ordem crescente e decrescente em sua matriz de entrada e pode aproveitar a ordem crescente e decrescente em diferentes partes da mesma matriz de entrada. Ele é adequado para mesclar dois ou mais arrays classificados: basta concatenar os arrays e classificar o array resultante.

A implementação foi adaptada da classificação de lista de Tim Peters para Python ( TimSort). Utiliza técnicas de Peter McIlroy "Optimistic Sorting and Information Theoretic Complexity", em Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, pp 467-474, janeiro de 1993.

Documentação Java para java.util.Arrays.sort(java.lang.Object[]).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Sort(Object[], IComparator)

Classifica a matriz especificada de objetos de acordo com a ordem induzida pelo comparador especificado.

[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

Parâmetros

a
Object[]

A matriz a ser classificada

c
IComparator

o comparador para determinar a ordem da matriz. Um null valor indica que a ordenação natural comparável dos elementos deve ser usada.

Atributos

Comentários

Classifica a matriz especificada de objetos de acordo com a ordem induzida pelo comparador especificado. Todos os elementos na matriz devem ser mutuamente comparáveis pelo comparador especificado (ou seja, c.compare(e1, e2) não devem lançar um ClassCastException para nenhum elemento e1 e e2 na matriz).

Esta classificação é garantidamente estável: elementos iguais não serão reordenados como resultado da classificação.

Nota de implementação: Esta implementação é uma mergesort estável, adaptativa e iterativa que requer muito menos do que n lg(n) comparações quando a matriz de entrada é parcialmente classificada, enquanto oferece o desempenho de uma mergesort tradicional quando a matriz de entrada é ordenada aleatoriamente. Se a matriz de entrada estiver quase classificada, a implementação exigirá aproximadamente n comparações. Os requisitos de armazenamento temporário variam de uma pequena constante para matrizes de entrada quase classificadas a referências de objeto n/2 para matrizes de entrada ordenadas aleatoriamente.

A implementação aproveita igualmente a ordem crescente e decrescente em sua matriz de entrada e pode aproveitar a ordem crescente e decrescente em diferentes partes da mesma matriz de entrada. Ele é adequado para mesclar dois ou mais arrays classificados: basta concatenar os arrays e classificar o array resultante.

A implementação foi adaptada da classificação de lista de Tim Peters para Python ( TimSort). Utiliza técnicas de Peter McIlroy "Optimistic Sorting and Information Theoretic Complexity", em Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, pp 467-474, janeiro de 1993.

Documentação Java para java.util.Arrays.sort(T[], java.util.Comparator<? super T>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a