Arrays.Sort Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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
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.