Selection-Sort
aus www.iwiki.de, der freien Wissensdatenbank
Selection-Sort ist ein elementares Sortierverfahren
Inhaltsverzeichnis |
Prinzip
Beim Selection-Sort ist der sortierte Teil der Liste zu Beginn des Vorgangs leer. Bei jedem Durchgang wird aus dem unsortierten Teil das kleinste Element herausgesucht und mit dem ersten Element des unsortierten Teils vertauscht. Die Grenze wird um eine Position verschoben, so dass der sortierte Teil jetzt das zuvor als kleinstes Element eingestufte Element enthält. Dieser Vorgang wiederholt sich, bis die Feldstruktur nur noch aus dem sortierten Teil besteht.
Beispiel
Implementierung
void selectionSort(int numbers[], int array_size)
{
int i, j;
int min, temp;
for (i = 0; i < array_size-1; i++)
{
min = i;
for (j = i+1; j < array_size; j++)
{
if (numbers[j] < numbers[min])
min = j;
}
temp = numbers[i];
numbers[i] = numbers[min];
numbers[min] = temp;
}
}
