FANDOM


Sleepsort ist ein esoterisches zeitbasiertes Sortierverfahren, das 1986 erstmals beschrieben wurde und sich von Inselsort und Mergesort ableitet.[1] Im Januar 2011 wurde das Verfahren in einem Internetforum aufgegriffen.[2] Sleepsort basiert darauf, dass für jede zu sortierende Zahl ein eigener Thread erstellt wird, der zunächst eine dieser Zahl entsprechenden Anzahl von Sekunden pausiert und dann diese Zahl ausgibt. Als Ergebnis erhält man eine sortierte Liste von Zahlen.

Für die Praxis ist Sleepsort nicht geeignet, da bei einer Liste von Zahlen die größte Zahl ausschlaggebend für die Laufzeit ist.[3]

Beispielcode Bearbeiten

Folgender Code stellt eine Implementierung von Sleepsort in der Bash Shell dar:

#!/bin/bash
function f() {
  sleep "$1"
  echo "$1"
}
while [ -n "$1" ]
do
  f "$1" &
  shift
done
wait

Das Programm wird mit den zu sortierenden Zahlen als Kommandozeilenparametern aufgerufen. In der While-Schleife wird für jeden Parameter die Funktion f aufgerufen. Das & im Funktionsaufruf bedeutet, daß die Funktion im Hintergrund läuft, während die While-Schleife weiter abgearbeitet wird. Die Funktion f wartet die im Parameter angegebene Zahl von Sekunden und gibt dann den Parameter aus. Dies führt dazu, daß die Parameter in der Reihenfolge ihrer Größe ausgegeben werden. Der größte Parameter bestimmt die Dauer des Sortierverfahrens.

Der beispielhafte Aufruf dieses Skripts etwa durch

./sleepsort 3 1 7 9 2

ergibt

1 2 3 7 9

als sortierte Ausgabe.

Einzelnachweise Bearbeiten

  1. Jörg H. Siekmann: 8th International Conference on Automated Deduction: Oxford, England, July 27- August 1, 1986. Proceedings, Springer, 1986, S. 658 Online
  2. Genius sorting algorithm: Sleep sort , auf 4chan vom 20. Januar 2011 (englisch)
  3. Sleep sort performance test
Info Sign  Dieser Wikipedia-Artikel wurde gemäß GFDL bzw. CC-by-sa mit allen Versionen importiert.

Störung durch Adblocker erkannt!


Wikia ist eine gebührenfreie Seite, die sich durch Werbung finanziert. Benutzer, die Adblocker einsetzen, haben eine modifizierte Ansicht der Seite.

Wikia ist nicht verfügbar, wenn du weitere Modifikationen in dem Adblocker-Programm gemacht hast. Wenn du sie entfernst, dann wird die Seite ohne Probleme geladen.

Auch bei FANDOM

Zufälliges Wiki