Partilhar via


Array.sortWith <'T>. Função (F#)

Classifica os elementos de uma matriz, usando a função de comparação de determinado como a ordem, retornando uma nova matriz.

Caminho do namespace/módulo: Microsoft.FSharp.Collections.array

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

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

// Usage:
Array.sortWith comparer array

Parâmetros

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

    A função para comparar pares de elementos da matriz.

  • array
    Tipo: 'T []

    A matriz de entrada.

Valor de retorno

A matriz classificada.

Comentários

Não é uma classificação estável, ou seja, a ordem original de elementos iguais pode não ser preservada. Para obter uma classificação estável, considere o uso de Seq.sort.

Esta função é chamada de SortWith em módulos (assemblies) compilados. Se você estiver acessando a função de um idioma diferente, por exemplo, F# ou através de reflexão, use esse nome.

Exemplo

O código a seguir mostra o uso de Array.sortWith.

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"

Saída

  

Plataformas

O Windows 7, SP2 do Windows Vista, Windows XP SP3, Windows XP Professional x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Informações sobre versão

O tempo de execução F#

Compatível com: 2.0, 4.0

Silverlight

Compatível com: 3

Consulte também

Referência

Módulo de Collections.Array (F#)

Microsoft.FSharp.Collections Namespace (F#)

Histórico de alterações

Date

History

Motivo

Agosto de 2010

Exemplo de código adicionado.

Aprimoramento de informações.