Arrays.Sort Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
Sort(Object[], Int32, Int32, IComparator) |
Ordina l'intervallo specificato della matrice specificata di oggetti in base all'ordine indotto dal comparatore specificato. |
Sort(Byte[], Int32, Int32) |
Ordina l'intervallo specificato della matrice in ordine crescente. |
Sort(Single[], Int32, Int32) |
Ordina l'intervallo specificato della matrice in ordine crescente. |
Sort(Int64[], Int32, Int32) |
Ordina l'intervallo specificato della matrice in ordine crescente. |
Sort(Int32[], Int32, Int32) |
Ordina l'intervallo specificato della matrice in ordine crescente. |
Sort(Int16[], Int32, Int32) |
Ordina l'intervallo specificato della matrice in ordine crescente. |
Sort(Double[], Int32, Int32) |
Ordina l'intervallo specificato della matrice in ordine crescente. |
Sort(Char[], Int32, Int32) |
Ordina l'intervallo specificato della matrice in ordine crescente. |
Sort(Object[], Int32, Int32) |
Ordina l'intervallo specificato della matrice di oggetti specificata in ordine crescente, in base all'ordinamento naturale confrontabile dei relativi elementi. |
Sort(Single[]) |
Ordina la matrice specificata in ordine numerico crescente. |
Sort(Int64[]) |
Ordina la matrice specificata in ordine numerico crescente. |
Sort(Int32[]) |
Ordina la matrice specificata in ordine numerico crescente. |
Sort(Int16[]) |
Ordina la matrice specificata in ordine numerico crescente. |
Sort(Double[]) |
Ordina la matrice specificata in ordine numerico crescente. |
Sort(Char[]) |
Ordina la matrice specificata in ordine numerico crescente. |
Sort(Byte[]) |
Ordina la matrice specificata in ordine numerico crescente. |
Sort(Object[]) |
Ordina la matrice di oggetti specificata in ordine crescente, in base all'ordinamento naturale confrontabile dei relativi elementi. |
Sort(Object[], IComparator) |
Ordina la matrice specificata di oggetti in base all'ordine indotto dal comparatore specificato. |
Sort(Object[], Int32, Int32, IComparator)
Ordina l'intervallo specificato della matrice specificata di oggetti in base all'ordine indotto dal comparatore specificato.
[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
Parametri
- a
- Object[]
matrice da ordinare
- fromIndex
- Int32
indice del primo elemento (inclusivo) da ordinare
- toIndex
- Int32
indice dell'ultimo elemento (esclusivo) da ordinare
confronto per determinare l'ordine della matrice. Un null
valore indica che è consigliabile utilizzare l'ordinamento naturale confrontabile degli elementi.
- Attributi
Commenti
Ordina l'intervallo specificato della matrice specificata di oggetti in base all'ordine indotto dal comparatore specificato. L'intervallo da ordinare si estende dall'indice fromIndex
, inclusivo, all'indice toIndex
, esclusivo. Se fromIndex==toIndex
, l'intervallo da ordinare è vuoto. Tutti gli elementi dell'intervallo devono essere reciprocamente confrontabili dal confronto specificato , c.compare(e1, e2)
ovvero non devono generare un oggetto ClassCastException
per gli elementi e1
e e2
nell'intervallo.
Questo ordinamento è garantito che sia stabile: gli elementi uguali non verranno riordinati in seguito all'ordinamento.
Nota di implementazione: questa implementazione è un mergesort stabile, adattivo e iterativo che richiede confronti molto inferiori a n lg(n) quando la matrice di input è parzialmente ordinata, offrendo allo stesso tempo le prestazioni di un mergesort tradizionale quando la matrice di input viene ordinata in modo casuale. Se la matrice di input è quasi ordinata, l'implementazione richiede circa n confronti. I requisiti di archiviazione temporanea variano da una piccola costante per matrici di input quasi ordinate a riferimenti a oggetti n/2 per matrici di input ordinate in modo casuale.
L'implementazione sfrutta l'ordine crescente e decrescente nella matrice di input e può sfruttare l'ordine crescente e decrescente in parti diverse della stessa matrice di input. È particolarmente adatto per unire due o più matrici ordinate: è sufficiente concatenare le matrici e ordinare la matrice risultante.
L'implementazione è stata adattata dall'ordinamento dell'elenco di Tim Peters per Python ( TimSort). Usa tecniche del "ordinamento ottimistico e della complessità dell'informazione ottimistica" di Peter McIlroy, in Proceedings of the Fourth Annual ACM-SIAM Sym on Discrete Algorithms, pp 467-474, gennaio 1993.
Documentazione java per java.util.Arrays.sort(T[], int, int, java.util.Comparator<? super T>)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Byte[], Int32, Int32)
Ordina l'intervallo specificato della matrice in ordine 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
Parametri
- a
- Byte[]
matrice da ordinare
- fromIndex
- Int32
indice del primo elemento, inclusivo, da ordinare
- toIndex
- Int32
indice dell'ultimo elemento, esclusivo, da ordinare
- Attributi
Eccezioni
se start > end
.
se start
o end > array.length
.
Commenti
Ordina l'intervallo specificato della matrice in ordine crescente. L'intervallo da ordinare si estende dall'indice fromIndex
, inclusivo, all'indice toIndex
, esclusivo. Se fromIndex == toIndex
, l'intervallo da ordinare è vuoto.
Documentazione java per java.util.Arrays.sort(byte[], int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Single[], Int32, Int32)
Ordina l'intervallo specificato della matrice in ordine 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
Parametri
- a
- Single[]
matrice da ordinare
- fromIndex
- Int32
indice del primo elemento, inclusivo, da ordinare
- toIndex
- Int32
indice dell'ultimo elemento, esclusivo, da ordinare
- Attributi
Eccezioni
se start > end
.
se start
o end > array.length
.
Commenti
Ordina l'intervallo specificato della matrice in ordine crescente. L'intervallo da ordinare si estende dall'indice fromIndex
, inclusivo, all'indice toIndex
, esclusivo. Se fromIndex == toIndex
, l'intervallo da ordinare è vuoto.
La <
relazione non fornisce un ordine totale su tutti i valori float: -0.0f == 0.0f
è true
e un Float.NaN
valore confronta né minore di, maggiore, né uguale a qualsiasi valore, anche se stesso. Questo metodo usa l'ordine totale imposto dal metodo Float#compareTo
: -0.0f
viene considerato minore di valore 0.0f
e viene considerato maggiore di qualsiasi altro valore e Float.NaN
tutti i Float.NaN
valori vengono considerati uguali.
Documentazione java per java.util.Arrays.sort(float[], int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Vedi anche
Si applica a
Sort(Int64[], Int32, Int32)
Ordina l'intervallo specificato della matrice in ordine 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
Parametri
- a
- Int64[]
matrice da ordinare
- fromIndex
- Int32
indice del primo elemento, inclusivo, da ordinare
- toIndex
- Int32
indice dell'ultimo elemento, esclusivo, da ordinare
- Attributi
Eccezioni
se start > end
.
se start
o end > array.length
.
Commenti
Ordina l'intervallo specificato della matrice in ordine crescente. L'intervallo da ordinare si estende dall'indice fromIndex
, inclusivo, all'indice toIndex
, esclusivo. Se fromIndex == toIndex
, l'intervallo da ordinare è vuoto.
Documentazione java per java.util.Arrays.sort(long[], int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Int32[], Int32, Int32)
Ordina l'intervallo specificato della matrice in ordine 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
Parametri
- a
- Int32[]
matrice da ordinare
- fromIndex
- Int32
indice del primo elemento, inclusivo, da ordinare
- toIndex
- Int32
indice dell'ultimo elemento, esclusivo, da ordinare
- Attributi
Eccezioni
se start > end
.
se start
o end > array.length
.
Commenti
Ordina l'intervallo specificato della matrice in ordine crescente. L'intervallo da ordinare si estende dall'indice fromIndex
, inclusivo, all'indice toIndex
, esclusivo. Se fromIndex == toIndex
, l'intervallo da ordinare è vuoto.
Documentazione java per java.util.Arrays.sort(int[], int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Int16[], Int32, Int32)
Ordina l'intervallo specificato della matrice in ordine 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
Parametri
- a
- Int16[]
matrice da ordinare
- fromIndex
- Int32
indice del primo elemento, inclusivo, da ordinare
- toIndex
- Int32
indice dell'ultimo elemento, esclusivo, da ordinare
- Attributi
Eccezioni
se start > end
.
se start
o end > array.length
.
Commenti
Ordina l'intervallo specificato della matrice in ordine crescente. L'intervallo da ordinare si estende dall'indice fromIndex
, inclusivo, all'indice toIndex
, esclusivo. Se fromIndex == toIndex
, l'intervallo da ordinare è vuoto.
Documentazione java per java.util.Arrays.sort(short[], int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Double[], Int32, Int32)
Ordina l'intervallo specificato della matrice in ordine 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
Parametri
- a
- Double[]
matrice da ordinare
- fromIndex
- Int32
indice del primo elemento, inclusivo, da ordinare
- toIndex
- Int32
indice dell'ultimo elemento, esclusivo, da ordinare
- Attributi
Eccezioni
se start > end
.
se start
o end > array.length
.
Commenti
Ordina l'intervallo specificato della matrice in ordine crescente. L'intervallo da ordinare si estende dall'indice fromIndex
, inclusivo, all'indice toIndex
, esclusivo. Se fromIndex == toIndex
, l'intervallo da ordinare è vuoto.
La <
relazione non fornisce un ordine totale su tutti i valori double: -0.0d == 0.0d
è true
e un Double.NaN
valore confronta né minore di, maggiore di, né uguale a qualsiasi valore, anche se stesso. Questo metodo usa l'ordine totale imposto dal metodo Double#compareTo
: -0.0d
viene considerato minore di valore 0.0d
e viene considerato maggiore di qualsiasi altro valore e Double.NaN
tutti i Double.NaN
valori vengono considerati uguali.
Documentazione java per java.util.Arrays.sort(double[], int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Vedi anche
Si applica a
Sort(Char[], Int32, Int32)
Ordina l'intervallo specificato della matrice in ordine 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
Parametri
- a
- Char[]
matrice da ordinare
- fromIndex
- Int32
indice del primo elemento, inclusivo, da ordinare
- toIndex
- Int32
indice dell'ultimo elemento, esclusivo, da ordinare
- Attributi
Eccezioni
se start > end
.
se start
o end > array.length
.
Commenti
Ordina l'intervallo specificato della matrice in ordine crescente. L'intervallo da ordinare si estende dall'indice fromIndex
, inclusivo, all'indice toIndex
, esclusivo. Se fromIndex == toIndex
, l'intervallo da ordinare è vuoto.
Documentazione java per java.util.Arrays.sort(char[], int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Object[], Int32, Int32)
Ordina l'intervallo specificato della matrice di oggetti specificata in ordine crescente, in base all'ordinamento naturale confrontabile dei relativi elementi.
[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
Parametri
- a
- Object[]
matrice da ordinare
- fromIndex
- Int32
indice del primo elemento (inclusivo) da ordinare
- toIndex
- Int32
indice dell'ultimo elemento (esclusivo) da ordinare
- Attributi
Eccezioni
se un elemento non implementa Comparable
o se compareTo
genera un'eccezione per qualsiasi coppia di elementi.
se start > end
.
se start
o end > array.length
.
Commenti
Ordina l'intervallo specificato della matrice di oggetti specificata in ordine crescente, in base all'ordinamento naturale confrontabile dei relativi elementi. L'intervallo da ordinare si estende dall'indice fromIndex
, inclusivo, all'indice toIndex
, esclusivo. Se fromIndex==toIndex
, l'intervallo da ordinare è vuoto. Tutti gli elementi in questo intervallo devono implementare l'interfaccia Comparable
. Inoltre, tutti gli elementi di questo intervallo devono essere reciprocamente confrontabili , e1.compareTo(e2)
ovvero non devono generare un per ClassCastException
gli elementi e1
e e2
nella matrice.
Questo ordinamento è garantito che sia stabile: gli elementi uguali non verranno riordinati in seguito all'ordinamento.
Nota di implementazione: questa implementazione è un mergesort stabile, adattivo e iterativo che richiede confronti molto inferiori a n lg(n) quando la matrice di input è parzialmente ordinata, offrendo allo stesso tempo le prestazioni di un mergesort tradizionale quando la matrice di input viene ordinata in modo casuale. Se la matrice di input è quasi ordinata, l'implementazione richiede circa n confronti. I requisiti di archiviazione temporanea variano da una piccola costante per matrici di input quasi ordinate a riferimenti a oggetti n/2 per matrici di input ordinate in modo casuale.
L'implementazione sfrutta l'ordine crescente e decrescente nella matrice di input e può sfruttare l'ordine crescente e decrescente in parti diverse della stessa matrice di input. È particolarmente adatto per unire due o più matrici ordinate: è sufficiente concatenare le matrici e ordinare la matrice risultante.
L'implementazione è stata adattata dall'ordinamento dell'elenco di Tim Peters per Python ( TimSort). Usa tecniche del "ordinamento ottimistico e della complessità dell'informazione ottimistica" di Peter McIlroy, in Proceedings of the Fourth Annual ACM-SIAM Sym on Discrete Algorithms, pp 467-474, gennaio 1993.
Documentazione java per java.util.Arrays.sort(java.lang.Object[], int, int)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Single[])
Ordina la matrice specificata in ordine numerico crescente.
[Android.Runtime.Register("sort", "([F)V", "")]
public static void Sort (float[] a);
[<Android.Runtime.Register("sort", "([F)V", "")>]
static member Sort : single[] -> unit
Parametri
- a
- Single[]
matrice da ordinare
- Attributi
Commenti
Ordina la matrice specificata in ordine numerico crescente.
La <
relazione non fornisce un ordine totale su tutti i valori float: -0.0f == 0.0f
è true
e un Float.NaN
valore confronta né minore di, maggiore, né uguale a qualsiasi valore, anche se stesso. Questo metodo usa l'ordine totale imposto dal metodo Float#compareTo
: -0.0f
viene considerato minore di valore 0.0f
e viene considerato maggiore di qualsiasi altro valore e Float.NaN
tutti i Float.NaN
valori vengono considerati uguali.
Documentazione java per java.util.Arrays.sort(float[])
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Vedi anche
- <xref:Java.Util.Arrays.Sort(System.Single%5b%5d%2c+System.Int32%2c+System.Int32)>
Si applica a
Sort(Int64[])
Ordina la matrice specificata in ordine numerico crescente.
[Android.Runtime.Register("sort", "([J)V", "")]
public static void Sort (long[] a);
[<Android.Runtime.Register("sort", "([J)V", "")>]
static member Sort : int64[] -> unit
Parametri
- a
- Int64[]
matrice da ordinare
- Attributi
Commenti
Ordina la matrice specificata in ordine numerico crescente.
Documentazione java per java.util.Arrays.sort(long[])
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Int32[])
Ordina la matrice specificata in ordine numerico crescente.
[Android.Runtime.Register("sort", "([I)V", "")]
public static void Sort (int[] a);
[<Android.Runtime.Register("sort", "([I)V", "")>]
static member Sort : int[] -> unit
Parametri
- a
- Int32[]
matrice da ordinare
- Attributi
Commenti
Ordina la matrice specificata in ordine numerico crescente.
Documentazione java per java.util.Arrays.sort(int[])
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Int16[])
Ordina la matrice specificata in ordine numerico crescente.
[Android.Runtime.Register("sort", "([S)V", "")]
public static void Sort (short[] a);
[<Android.Runtime.Register("sort", "([S)V", "")>]
static member Sort : int16[] -> unit
Parametri
- a
- Int16[]
matrice da ordinare
- Attributi
Commenti
Ordina la matrice specificata in ordine numerico crescente.
Documentazione java per java.util.Arrays.sort(short[])
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Double[])
Ordina la matrice specificata in ordine numerico crescente.
[Android.Runtime.Register("sort", "([D)V", "")]
public static void Sort (double[] a);
[<Android.Runtime.Register("sort", "([D)V", "")>]
static member Sort : double[] -> unit
Parametri
- a
- Double[]
matrice da ordinare
- Attributi
Commenti
Ordina la matrice specificata in ordine numerico crescente.
La <
relazione non fornisce un ordine totale su tutti i valori double: -0.0d == 0.0d
è true
e un Double.NaN
valore confronta né minore di, maggiore di, né uguale a qualsiasi valore, anche se stesso. Questo metodo usa l'ordine totale imposto dal metodo Double#compareTo
: -0.0d
viene considerato minore di valore 0.0d
e viene considerato maggiore di qualsiasi altro valore e Double.NaN
tutti i Double.NaN
valori vengono considerati uguali.
Documentazione java per java.util.Arrays.sort(double[])
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Vedi anche
- <xref:Java.Util.Arrays.Sort(System.Double%5b%5d%2c+System.Int32%2c+System.Int32)>
Si applica a
Sort(Char[])
Ordina la matrice specificata in ordine numerico crescente.
[Android.Runtime.Register("sort", "([C)V", "")]
public static void Sort (char[] a);
[<Android.Runtime.Register("sort", "([C)V", "")>]
static member Sort : char[] -> unit
Parametri
- a
- Char[]
matrice da ordinare
- Attributi
Commenti
Ordina la matrice specificata in ordine numerico crescente.
Documentazione java per java.util.Arrays.sort(char[])
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Byte[])
Ordina la matrice specificata in ordine numerico crescente.
[Android.Runtime.Register("sort", "([B)V", "")]
public static void Sort (byte[] a);
[<Android.Runtime.Register("sort", "([B)V", "")>]
static member Sort : byte[] -> unit
Parametri
- a
- Byte[]
matrice da ordinare
- Attributi
Commenti
Ordina la matrice specificata in ordine numerico crescente.
Documentazione java per java.util.Arrays.sort(byte[])
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Object[])
Ordina la matrice di oggetti specificata in ordine crescente, in base all'ordinamento naturale confrontabile dei relativi elementi.
[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
Parametri
- a
- Object[]
matrice da ordinare
- Attributi
Eccezioni
se un elemento non implementa Comparable
o se compareTo
genera un'eccezione per qualsiasi coppia di elementi.
Commenti
Ordina la matrice di oggetti specificata in ordine crescente, in base all'ordinamento naturale confrontabile dei relativi elementi. Tutti gli elementi nella matrice devono implementare l'interfaccia Comparable
. Inoltre, tutti gli elementi della matrice devono essere reciprocamente confrontabili , e1.compareTo(e2)
ovvero non devono generare un per ClassCastException
gli elementi e1
e e2
nella matrice.
Questo ordinamento è garantito che sia stabile: gli elementi uguali non verranno riordinati in seguito all'ordinamento.
Nota di implementazione: questa implementazione è un mergesort stabile, adattivo e iterativo che richiede confronti molto inferiori a n lg(n) quando la matrice di input è parzialmente ordinata, offrendo allo stesso tempo le prestazioni di un mergesort tradizionale quando la matrice di input viene ordinata in modo casuale. Se la matrice di input è quasi ordinata, l'implementazione richiede circa n confronti. I requisiti di archiviazione temporanea variano da una piccola costante per matrici di input quasi ordinate a riferimenti a oggetti n/2 per matrici di input ordinate in modo casuale.
L'implementazione sfrutta l'ordine crescente e decrescente nella matrice di input e può sfruttare l'ordine crescente e decrescente in parti diverse della stessa matrice di input. È particolarmente adatto per unire due o più matrici ordinate: è sufficiente concatenare le matrici e ordinare la matrice risultante.
L'implementazione è stata adattata dall'ordinamento dell'elenco di Tim Peters per Python ( TimSort). Usa tecniche del "ordinamento ottimistico e della complessità dell'informazione ottimistica" di Peter McIlroy, in Proceedings of the Fourth Annual ACM-SIAM Sym on Discrete Algorithms, pp 467-474, gennaio 1993.
Documentazione java per java.util.Arrays.sort(java.lang.Object[])
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Si applica a
Sort(Object[], IComparator)
Ordina la matrice specificata di oggetti in base all'ordine indotto dal comparatore specificato.
[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
Parametri
- a
- Object[]
matrice da ordinare
confronto per determinare l'ordine della matrice. Un null
valore indica che è consigliabile utilizzare l'ordinamento naturale confrontabile degli elementi.
- Attributi
Commenti
Ordina la matrice specificata di oggetti in base all'ordine indotto dal comparatore specificato. Tutti gli elementi nella matrice devono essere reciprocamente confrontabili dal confronto specificato, c.compare(e1, e2)
ovvero non devono generare un per ClassCastException
gli elementi e1
e e2
nella matrice.
Questo ordinamento è garantito che sia stabile: gli elementi uguali non verranno riordinati in seguito all'ordinamento.
Nota di implementazione: questa implementazione è un mergesort stabile, adattivo e iterativo che richiede confronti molto inferiori a n lg(n) quando la matrice di input è parzialmente ordinata, offrendo allo stesso tempo le prestazioni di un mergesort tradizionale quando la matrice di input viene ordinata in modo casuale. Se la matrice di input è quasi ordinata, l'implementazione richiede circa n confronti. I requisiti di archiviazione temporanea variano da una piccola costante per matrici di input quasi ordinate a riferimenti a oggetti n/2 per matrici di input ordinate in modo casuale.
L'implementazione sfrutta l'ordine crescente e decrescente nella matrice di input e può sfruttare l'ordine crescente e decrescente in parti diverse della stessa matrice di input. È particolarmente adatto per unire due o più matrici ordinate: è sufficiente concatenare le matrici e ordinare la matrice risultante.
L'implementazione è stata adattata dall'ordinamento dell'elenco di Tim Peters per Python ( TimSort). Usa tecniche del "ordinamento ottimistico e della complessità dell'informazione ottimistica" di Peter McIlroy, in Proceedings of the Fourth Annual ACM-SIAM Sym on Discrete Algorithms, pp 467-474, gennaio 1993.
Documentazione java per java.util.Arrays.sort(T[], java.util.Comparator<? super T>)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.