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