Was ist die eleganteste Art der Blasensortierung in F #?

8

Was ist die eleganteste Art der Bubble-Sortierung in F #?

AKTUALISIEREN

Wie in einer der Antworten darauf hingewiesen wurde, ist die Blasensortierung in einer funktionalen Sprache zunächst nicht effizient. Ein humoristisch-zynischer Kommentator wies auch darauf hin, dass die Blasensortierung nur dann sinnvoll ist, wenn die Liste klein ist und ohnehin fast sortiert ist.

Allerdings bin ich gespannt, wie eine clevere Bubble-Sortierung in F # geschrieben werden kann, da ich in der Vergangenheit Bubble-Sortierungen in C #, C ++ und Java EE gemacht habe und seit ich ein F # -Neuling bin .

    
Kaiser Advisor 10.11.2008, 20:58
quelle

1 Antwort

10

Die Verwendung von bubble sort in einer funktionalen Sprache ist nicht sehr effizient, da die Implementierung die Liste mehrmals umkehren muss (und dies kann nicht wirklich effizient für unveränderbare Listen implementiert werden).

Wie auch immer, das Beispiel von Erlang kann wie folgt in F # geschrieben werden:

%Vor%

Auf der anderen Seite können Sie denselben Algorithmus mithilfe von veränderbaren Arrays implementieren. Dies wird effizienter und in F # können Sie auch mit Arrays arbeiten, wenn Sie möchten. Die folgende Funktion erstellt eine Kopie des Arrays und sortiert sie.

%Vor%

Tomas

    
Tomas Petricek 10.11.2008, 23:46
quelle

Tags und Links