Array.sortWith<'T>-Funktion (F#)

Sortiert die Elemente eines Arrays unter Verwendung der angegebenen Vergleichsfunktion als Reihenfolge und gibt ein neues Array zurück.

Namespace/Modulpfad: Microsoft.FSharp.Collections.Array

Assembly: FSharp.Core (in FSharp.Core.dll)

// Signature:
Array.sortWith : ('T -> 'T -> int) -> 'T [] -> 'T []

// Usage:
Array.sortWith comparer array

Parameter

  • comparer
    Typ: 'T -> 'T -> int

    Die Funktion, mit der Paare von Arrayelementen verglichen werden.

  • array
    Typ: 'T []

    Das Eingabearray.

Rückgabewert

Das sortierte Array.

Hinweise

Hierbei handelt es sich nicht um eine stabile Sortierung. Das heißt, die ursprüngliche Reihenfolge gleicher Elemente wird möglicherweise nicht beibehalten. Für eine stabile Sortierung sollten Sie Seq.sort in Erwägung ziehen.

Der Name dieser Funktion in kompilierten Assemblys lautet SortWith. Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf die Funktion zugreifen.

Beispiel

Im folgenden Code wird die Verwendung von Array.sortWith veranschaulicht.

open System

let array1 = [| "<>"; "&"; "&&"; "&&&"; "<"; ">"; "|"; "||"; "|||" |]
printfn "Before sorting: "
array1 |> printfn "%A" 
let sortFunction (string1:string) (string2:string) =
    if (string1.Length > string2.Length) then
       1
    else if (string1.Length < string2.Length) then
       -1
    else
        String.Compare(string1, string2)

Array.sortWith sortFunction array1
|> printfn "After sorting: \n%A"

Output

  

Plattformen

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Versionsinformationen

F#-Kern-Bibliotheks-Versionen

Unterstützt in: 2,0, 4,0, portablen

Siehe auch

Referenz

Collections.Array-Modul (F#)

Microsoft.FSharp.Collections-Namespace (F#)