Was ist Array-Sortierung?
Beim Sortieren von Arrays werden die einzelnen Elemente eines Arrays nach einer Reihe von vom Benutzer festgelegten Regeln in einer logischen Reihenfolge angeordnet. Der Prozess umfasst das schrittweise Durchlaufen des Arrays nacheinander und das Testen dieses Elements anhand der umgebenden Elemente, um festzustellen, ob es in einen anderen Index innerhalb des Arrays verschoben werden muss. Bei der Sortierung von Arrays können verschiedene Algorithmen verwendet werden, insbesondere wenn die Sortierbedingungen numerisch und nicht willkürlich sind. Die meisten Arraysortierungsalgorithmen werden anhand ihrer Geschwindigkeit und Effizienz gemessen, wobei die langsamsten Algorithmen am einfachsten zu programmieren sind und die schnellsten wesentlich komplexer.
Der einfachste Algorithmus zum Sortieren von Arrays wird als Blasensortierung bezeichnet und ist auch der langsamste. Der Prozess beginnt mit einer Schleife, die jedes Element im Array durchläuft. Das aktuelle Element wird mit dem nächsten Element im Array verglichen. Wenn das nächste Element einen niedrigeren Wert als das aktuelle Element aufweist, werden die Daten an den Indizes umgeschaltet. Der Nachteil einer Blasensortierung besteht darin, dass sie das Array mehrmals durchlaufen muss, um alle erforderlichen Auslagerungen zum Sortieren des Arrays vorzunehmen. In den grundlegendsten Implementierungen durchläuft die Sortierung das gesamte Array ein vollständiges Mal für jedes darin enthaltene Element.
Eine Auswahlsortierung verwendet einen Algorithmus, der die Arraysortierung etwas effizienter ausführt als eine Blasensortierung, jedoch immer noch mehrere Iterationen durch das Array erfordert. Diese Sortierung beginnt mit einer Schleife durch das Array, um das Element mit dem niedrigsten Wert zu finden. Dieses Element wird dann in den ersten Index des Arrays eingefügt und einige Verfolgungsvariablen werden inkrementiert. Der Zyklus wiederholt sich dann und sucht nun nach dem nächstniedrigeren Wert, der dann in den zweiten Index des Arrays eingefügt wird. Der Prozess wird fortgesetzt, bis das Element mit dem höchsten Wert im letzten Index des Arrays platziert ist.
Eine Methode zum Sortieren von Arrays, die effizient, aber manchmal auch komplex zu implementieren ist, wird als Quicksort bezeichnet. Beim Quicksorting wird ein Wert verwendet, der in der Mitte aller möglichen Werte im Array liegt. Der Algorithmus durchläuft alle Elemente des Arrays und setzt alle Werte, die größer als der Medianwert sind, am Ende des Arrays und niedrigere Werte am Anfang. Dieser Vorgang wird rekursiv für Blöcke des Arrays ausgeführt, bis am Ende das gesamte Array sortiert ist. Vorausgesetzt, der für das Array verwendete Mittelwert ist ziemlich genau, kann dies eine sehr schnelle Methode zum Sortieren sein.
Ein Faktor, der einen Array-Sortieralgorithmus beeinflussen kann, ist das Mittel, mit dem die Daten auf Äquivalenz getestet werden. Einfache Zahlen sind leicht zu vergleichen, wobei der Wert größer ist. Dies ist jedoch möglicherweise nicht der Fall bei komplexen Datenklassen, bei denen mehrere Bedingungen verglichen werden müssen. Je länger es dauert, zu vergleichen, ob ein Element größer oder kleiner als ein anderes ist, desto länger dauert es, bis der Algorithmus das Array sortiert.