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

Bild:Selection_sort03.JPG


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;
  }
}


Weblinks