Die Hauptmethode selectionsort().
private void selectionsort()
{
int kleinstes;
int platz;
for(int aktuell=0;aktuell<(n-1);aktuell++)
{
platz=aktuell;
kleinstes=Feld[aktuell];
for(int j=aktuell+1;j<n;j++)
{
if(Feld[j]<kleinstes)
{
kleinstes=Feld[j];
platz=j;
}
}
if(platz>aktuell)
{
Feld[platz]=Feld[aktuell];
Feld[aktuell]=kleinstes;
}
}
}
In der äußeren Schleife wird mit "aktuell" das Feld von links nach rechts durchlaufen. Es reicht bis n-2 (also bis zum (n-1)-ten Element) zu laufen, da das n-te Element, dann automatisch sortiert ist.
Für jedes Element wird das Restfeld nach einem kleineren Element durchsucht. Wird es gefunden, wird sein Feldindex in platz gespeichert und in der 2. if-Anweisung die Inhalte des aktuellen Elements mit dem von platz getauscht.
© Ralph-Erich Hildebrandt, 04. Januar 2005