Frage
Ich habe eine Liste von Tupeln Koordinaten von Punkten darstellt. Wie kann ich sie durch den ersten oder zweiten Wert sortieren, so dass ich meine Punkte von links nach rechts ersten und von oben nach unten als nächstes?
Lösung
Klingt wie Sie beispiels wollen.
myList |> List.sortBy fst
Aber Tupel unterstützt strukturelle Gleichheit und Vergleich, so die Standard-Sortier (lexikographischen) kann tun, was Sie wollen.
Andere Tipps
Side Hinweis:
Dies ist nicht über das Sortieren, aber wenn Ihr mit fach vervielfachten Koordinaten möchten Sie vielleicht eine Set statt einer Liste. ein Set hat mir wirklich geholfen Mit meiner Implementierung von Tetris zu vereinfachen .
let sorted = List.sort_by (fun (a,b) -> a,b) myList
die eine Änderung, b, wenn Sie die andere Art und Weise brauchen um
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow