Comparteix via


Arrays.Sort Método

Definición

Sobrecargas

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

Ordena el intervalo especificado de la matriz especificada de objetos según el orden provocado por el comparador especificado.

Sort(Byte[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

Sort(Single[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

Sort(Int64[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

Sort(Int32[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

Sort(Int16[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

Sort(Double[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

Sort(Char[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

Sort(Object[], Int32, Int32)

Ordena el intervalo especificado de la matriz especificada de objetos en orden ascendente, según la ordenación natural comparable de sus elementos.

Sort(Single[])

Ordena la matriz especificada en orden numérico ascendente.

Sort(Int64[])

Ordena la matriz especificada en orden numérico ascendente.

Sort(Int32[])

Ordena la matriz especificada en orden numérico ascendente.

Sort(Int16[])

Ordena la matriz especificada en orden numérico ascendente.

Sort(Double[])

Ordena la matriz especificada en orden numérico ascendente.

Sort(Char[])

Ordena la matriz especificada en orden numérico ascendente.

Sort(Byte[])

Ordena la matriz especificada en orden numérico ascendente.

Sort(Object[])

Ordena la matriz especificada de objetos en orden ascendente, según la ordenación natural comparable de sus elementos.

Sort(Object[], IComparator)

Ordena la matriz especificada de objetos según el orden provocado por el comparador especificado.

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

Ordena el intervalo especificado de la matriz especificada de objetos según el orden provocado por el 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[]

matriz que se va a ordenar

fromIndex
Int32

índice del primer elemento (inclusivo) que se va a ordenar

toIndex
Int32

índice del último elemento (exclusivo) que se va a ordenar

c
IComparator

comparador para determinar el orden de la matriz. Un null valor indica que se debe usar la ordenación natural comparable de los elementos.

Atributos

Comentarios

Ordena el intervalo especificado de la matriz especificada de objetos según el orden provocado por el comparador especificado. El intervalo que se va a ordenar se extiende del índice fromIndex, ambos inclusive, al índice toIndex, exclusivo. (Si fromIndex==toIndexes , el intervalo que se va a ordenar está vacío). Todos los elementos del intervalo deben ser mutuamente comparables por el comparador especificado (es decir, c.compare(e1, e2) no debe producir un ClassCastException para ningún elemento e1 y e2 en el intervalo).

Se garantiza que esta ordenación es estable: los elementos iguales no se reordenarán como resultado de la ordenación.

Nota de implementación: esta implementación es una combinación estable, adaptable e iterativa que requiere muchas menos comparaciones de n lg(n) cuando la matriz de entrada se ordena parcialmente, al tiempo que ofrece el rendimiento de una combinación tradicional cuando la matriz de entrada se ordena aleatoriamente. Si la matriz de entrada está casi ordenada, la implementación requiere aproximadamente n comparaciones. Los requisitos de almacenamiento temporal varían de una constante pequeña para matrices de entrada casi ordenadas a referencias de objetos n/2 para matrices de entrada ordenadas aleatoriamente.

La implementación aprovecha la misma ventaja del orden ascendente y descendente en su matriz de entrada, y puede aprovechar el orden ascendente y descendente en diferentes partes de la misma matriz de entrada. Es adecuado para combinar dos o más matrices ordenadas: simplemente concatenar las matrices y ordenar la matriz resultante.

La implementación se adaptó de la lista de Tim Peters para Python ( TimSort). Utiliza técnicas de la "Complejidad teorética optimista" de Peter McIlroy, en Actas del Cuarto Simposio ACM-SIAM anual sobre algoritmos discretos, pp 467-474, enero de 1993.

Documentación de Java para java.util.Arrays.sort(T[], int, int, java.util.Comparator<? super T>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Byte[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

[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[]

matriz que se va a ordenar

fromIndex
Int32

índice del primer elemento, inclusivo, que se va a ordenar

toIndex
Int32

índice del último elemento, exclusivo, que se va a ordenar

Atributos

Excepciones

si start > end.

si start o end > array.length.

Comentarios

Ordena el intervalo especificado de la matriz en orden ascendente. El intervalo que se va a ordenar se extiende desde el índice fromIndex, inclusivo, hasta el índice toIndex, exclusivo. Si fromIndex == toIndexes , el intervalo que se va a ordenar está vacío.

Documentación de Java para java.util.Arrays.sort(byte[], int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Single[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

[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[]

matriz que se va a ordenar

fromIndex
Int32

índice del primer elemento, inclusivo, que se va a ordenar

toIndex
Int32

índice del último elemento, exclusivo, que se va a ordenar

Atributos

Excepciones

si start > end.

si start o end > array.length.

Comentarios

Ordena el intervalo especificado de la matriz en orden ascendente. El intervalo que se va a ordenar se extiende desde el índice fromIndex, inclusivo, hasta el índice toIndex, exclusivo. Si fromIndex == toIndexes , el intervalo que se va a ordenar está vacío.

La < relación no proporciona un orden total en todos los valores flotantes: -0.0f == 0.0f es true y un Float.NaN valor no compara ni menor que, mayor ni igual que ningún valor, incluso a sí mismo. Este método usa el orden total impuesto por el método Float#compareTo: -0.0f se trata como menor que el valor 0.0f y Float.NaN se considera mayor que cualquier otro valor y todos los Float.NaN valores se consideran iguales.

Documentación de Java para java.util.Arrays.sort(float[], int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Consulte también

Se aplica a

Sort(Int64[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

[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[]

matriz que se va a ordenar

fromIndex
Int32

índice del primer elemento, inclusivo, que se va a ordenar

toIndex
Int32

índice del último elemento, exclusivo, que se va a ordenar

Atributos

Excepciones

si start > end.

si start o end > array.length.

Comentarios

Ordena el intervalo especificado de la matriz en orden ascendente. El intervalo que se va a ordenar se extiende desde el índice fromIndex, inclusivo, hasta el índice toIndex, exclusivo. Si fromIndex == toIndexes , el intervalo que se va a ordenar está vacío.

Documentación de Java para java.util.Arrays.sort(long[], int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Int32[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

[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[]

matriz que se va a ordenar

fromIndex
Int32

índice del primer elemento, inclusivo, que se va a ordenar

toIndex
Int32

índice del último elemento, exclusivo, que se va a ordenar

Atributos

Excepciones

si start > end.

si start o end > array.length.

Comentarios

Ordena el intervalo especificado de la matriz en orden ascendente. El intervalo que se va a ordenar se extiende desde el índice fromIndex, inclusivo, hasta el índice toIndex, exclusivo. Si fromIndex == toIndexes , el intervalo que se va a ordenar está vacío.

Documentación de Java para java.util.Arrays.sort(int[], int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Int16[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

[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[]

matriz que se va a ordenar

fromIndex
Int32

índice del primer elemento, inclusivo, que se va a ordenar

toIndex
Int32

índice del último elemento, exclusivo, que se va a ordenar

Atributos

Excepciones

si start > end.

si start o end > array.length.

Comentarios

Ordena el intervalo especificado de la matriz en orden ascendente. El intervalo que se va a ordenar se extiende desde el índice fromIndex, inclusivo, hasta el índice toIndex, exclusivo. Si fromIndex == toIndexes , el intervalo que se va a ordenar está vacío.

Documentación de Java para java.util.Arrays.sort(short[], int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Double[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

[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[]

matriz que se va a ordenar

fromIndex
Int32

índice del primer elemento, inclusivo, que se va a ordenar

toIndex
Int32

índice del último elemento, exclusivo, que se va a ordenar

Atributos

Excepciones

si start > end.

si start o end > array.length.

Comentarios

Ordena el intervalo especificado de la matriz en orden ascendente. El intervalo que se va a ordenar se extiende desde el índice fromIndex, inclusivo, hasta el índice toIndex, exclusivo. Si fromIndex == toIndexes , el intervalo que se va a ordenar está vacío.

La < relación no proporciona un orden total en todos los valores dobles: -0.0d == 0.0d es true y un Double.NaN valor no compara ni menor que, mayor ni igual que ningún valor, incluso a sí mismo. Este método usa el orden total impuesto por el método Double#compareTo: -0.0d se trata como menor que el valor 0.0d y Double.NaN se considera mayor que cualquier otro valor y todos los Double.NaN valores se consideran iguales.

Documentación de Java para java.util.Arrays.sort(double[], int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Consulte también

Se aplica a

Sort(Char[], Int32, Int32)

Ordena el intervalo especificado de la matriz en orden ascendente.

[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[]

matriz que se va a ordenar

fromIndex
Int32

índice del primer elemento, inclusivo, que se va a ordenar

toIndex
Int32

índice del último elemento, exclusivo, que se va a ordenar

Atributos

Excepciones

si start > end.

si start o end > array.length.

Comentarios

Ordena el intervalo especificado de la matriz en orden ascendente. El intervalo que se va a ordenar se extiende desde el índice fromIndex, inclusivo, hasta el índice toIndex, exclusivo. Si fromIndex == toIndexes , el intervalo que se va a ordenar está vacío.

Documentación de Java para java.util.Arrays.sort(char[], int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Object[], Int32, Int32)

Ordena el intervalo especificado de la matriz especificada de objetos en orden ascendente, según la ordenación natural comparable de sus 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[]

matriz que se va a ordenar

fromIndex
Int32

índice del primer elemento (inclusivo) que se va a ordenar

toIndex
Int32

índice del último elemento (exclusivo) que se va a ordenar

Atributos

Excepciones

si algún elemento no implementa Comparable, o si compareTo se produce para cualquier par de elementos.

si start > end.

si start o end > array.length.

Comentarios

Ordena el intervalo especificado de la matriz especificada de objetos en orden ascendente, según la ordenación natural comparable de sus elementos. El intervalo que se va a ordenar se extiende del índice fromIndex, ambos inclusive, al índice toIndex, exclusivo. (Si fromIndex==toIndexes , el intervalo que se va a ordenar está vacío). Todos los elementos de este intervalo deben implementar la Comparable interfaz . Además, todos los elementos de este intervalo deben ser mutuamente comparables (es decir, e1.compareTo(e2) no debe producir un ClassCastException para ningún elemento e1 y e2 en la matriz).

Se garantiza que esta ordenación es estable: los elementos iguales no se reordenarán como resultado de la ordenación.

Nota de implementación: esta implementación es una combinación estable, adaptable e iterativa que requiere muchas menos comparaciones de n lg(n) cuando la matriz de entrada se ordena parcialmente, al tiempo que ofrece el rendimiento de una combinación tradicional cuando la matriz de entrada se ordena aleatoriamente. Si la matriz de entrada está casi ordenada, la implementación requiere aproximadamente n comparaciones. Los requisitos de almacenamiento temporal varían de una constante pequeña para matrices de entrada casi ordenadas a referencias de objetos n/2 para matrices de entrada ordenadas aleatoriamente.

La implementación aprovecha la misma ventaja del orden ascendente y descendente en su matriz de entrada, y puede aprovechar el orden ascendente y descendente en diferentes partes de la misma matriz de entrada. Es adecuado para combinar dos o más matrices ordenadas: simplemente concatenar las matrices y ordenar la matriz resultante.

La implementación se adaptó de la lista de Tim Peters para Python ( TimSort). Utiliza técnicas de la "Complejidad teorética optimista" de Peter McIlroy, en Actas del Cuarto Simposio ACM-SIAM anual sobre algoritmos discretos, pp 467-474, enero de 1993.

Documentación de Java para java.util.Arrays.sort(java.lang.Object[], int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Single[])

Ordena la matriz especificada en orden numérico ascendente.

[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[]

matriz que se va a ordenar

Atributos

Comentarios

Ordena la matriz especificada en orden numérico ascendente.

La < relación no proporciona un orden total en todos los valores flotantes: -0.0f == 0.0f es true y un Float.NaN valor no compara ni menor que, mayor ni igual que ningún valor, incluso a sí mismo. Este método usa el orden total impuesto por el método Float#compareTo: -0.0f se trata como menor que el valor 0.0f y Float.NaN se considera mayor que cualquier otro valor y todos los Float.NaN valores se consideran iguales.

Documentación de Java para java.util.Arrays.sort(float[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Consulte también

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

Se aplica a

Sort(Int64[])

Ordena la matriz especificada en orden numérico ascendente.

[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[]

matriz que se va a ordenar

Atributos

Comentarios

Ordena la matriz especificada en orden numérico ascendente.

Documentación de Java para java.util.Arrays.sort(long[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Int32[])

Ordena la matriz especificada en orden numérico ascendente.

[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[]

matriz que se va a ordenar

Atributos

Comentarios

Ordena la matriz especificada en orden numérico ascendente.

Documentación de Java para java.util.Arrays.sort(int[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Int16[])

Ordena la matriz especificada en orden numérico ascendente.

[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[]

matriz que se va a ordenar

Atributos

Comentarios

Ordena la matriz especificada en orden numérico ascendente.

Documentación de Java para java.util.Arrays.sort(short[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Double[])

Ordena la matriz especificada en orden numérico ascendente.

[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[]

matriz que se va a ordenar

Atributos

Comentarios

Ordena la matriz especificada en orden numérico ascendente.

La < relación no proporciona un orden total en todos los valores dobles: -0.0d == 0.0d es true y un Double.NaN valor no compara ni menor que, mayor ni igual que ningún valor, incluso a sí mismo. Este método usa el orden total impuesto por el método Double#compareTo: -0.0d se trata como menor que el valor 0.0d y Double.NaN se considera mayor que cualquier otro valor y todos los Double.NaN valores se consideran iguales.

Documentación de Java para java.util.Arrays.sort(double[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Consulte también

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

Se aplica a

Sort(Char[])

Ordena la matriz especificada en orden numérico ascendente.

[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[]

matriz que se va a ordenar

Atributos

Comentarios

Ordena la matriz especificada en orden numérico ascendente.

Documentación de Java para java.util.Arrays.sort(char[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Byte[])

Ordena la matriz especificada en orden numérico ascendente.

[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[]

matriz que se va a ordenar

Atributos

Comentarios

Ordena la matriz especificada en orden numérico ascendente.

Documentación de Java para java.util.Arrays.sort(byte[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Object[])

Ordena la matriz especificada de objetos en orden ascendente, según la ordenación natural comparable de sus 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[]

matriz que se va a ordenar

Atributos

Excepciones

si algún elemento no implementa Comparable, o si compareTo se produce para cualquier par de elementos.

Comentarios

Ordena la matriz especificada de objetos en orden ascendente, según la ordenación natural comparable de sus elementos. Todos los elementos de la matriz deben implementar la Comparable interfaz . Además, todos los elementos de la matriz deben ser mutuamente comparables (es decir, e1.compareTo(e2) no debe producir un ClassCastException para ningún elemento e1 y e2 en la matriz).

Se garantiza que esta ordenación es estable: los elementos iguales no se reordenarán como resultado de la ordenación.

Nota de implementación: esta implementación es una combinación estable, adaptable e iterativa que requiere muchas menos comparaciones de n lg(n) cuando la matriz de entrada se ordena parcialmente, al tiempo que ofrece el rendimiento de una combinación tradicional cuando la matriz de entrada se ordena aleatoriamente. Si la matriz de entrada está casi ordenada, la implementación requiere aproximadamente n comparaciones. Los requisitos de almacenamiento temporal varían de una constante pequeña para matrices de entrada casi ordenadas a referencias de objetos n/2 para matrices de entrada ordenadas aleatoriamente.

La implementación aprovecha la misma ventaja del orden ascendente y descendente en su matriz de entrada, y puede aprovechar el orden ascendente y descendente en diferentes partes de la misma matriz de entrada. Es adecuado para combinar dos o más matrices ordenadas: simplemente concatenar las matrices y ordenar la matriz resultante.

La implementación se adaptó de la lista de Tim Peters para Python ( TimSort). Utiliza técnicas de la "Complejidad teorética optimista" de Peter McIlroy, en Actas del Cuarto Simposio ACM-SIAM anual sobre algoritmos discretos, pp 467-474, enero de 1993.

Documentación de Java para java.util.Arrays.sort(java.lang.Object[]).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Sort(Object[], IComparator)

Ordena la matriz especificada de objetos según el orden provocado por el 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[]

matriz que se va a ordenar

c
IComparator

comparador para determinar el orden de la matriz. Un null valor indica que se debe usar la ordenación natural comparable de los elementos.

Atributos

Comentarios

Ordena la matriz especificada de objetos según el orden provocado por el comparador especificado. Todos los elementos de la matriz deben ser mutuamente comparables por el comparador especificado (es decir, c.compare(e1, e2) no debe producir un ClassCastException para ningún elemento e1 y e2 en la matriz).

Se garantiza que esta ordenación es estable: los elementos iguales no se reordenarán como resultado de la ordenación.

Nota de implementación: esta implementación es una combinación estable, adaptable e iterativa que requiere muchas menos comparaciones de n lg(n) cuando la matriz de entrada se ordena parcialmente, al tiempo que ofrece el rendimiento de una combinación tradicional cuando la matriz de entrada se ordena aleatoriamente. Si la matriz de entrada está casi ordenada, la implementación requiere aproximadamente n comparaciones. Los requisitos de almacenamiento temporal varían de una constante pequeña para matrices de entrada casi ordenadas a referencias de objetos n/2 para matrices de entrada ordenadas aleatoriamente.

La implementación aprovecha la misma ventaja del orden ascendente y descendente en su matriz de entrada, y puede aprovechar el orden ascendente y descendente en diferentes partes de la misma matriz de entrada. Es adecuado para combinar dos o más matrices ordenadas: simplemente concatenar las matrices y ordenar la matriz resultante.

La implementación se adaptó de la lista de Tim Peters para Python ( TimSort). Utiliza técnicas de la "Complejidad teorética optimista" de Peter McIlroy, en Actas del Cuarto Simposio ACM-SIAM anual sobre algoritmos discretos, pp 467-474, enero de 1993.

Documentación de Java para java.util.Arrays.sort(T[], java.util.Comparator<? super T>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a