Gregor Antoine
Gregor.Antoine@hpg-speyer.de
GnuPG-Schlüssel  
(0E863611)


Informatik12-1-Loesung

Lösung für Minsort

Gegeben war

 for(int n = 1; n < anzahl; n++) {
     if(größe(0) > größe(n)) {
         tausche(0, n);
     }
 }        

Damit wir der kleinste Stein auf den ersten Platz getauscht.

Wenn ich auch die beiden nächsten Steine auf den 2. und 3. Platz stellen will, geht das so:

 for(int n = 1; n < anzahl; n++) {
     if(größe(0) > größe(n)) {
         tausche(0, n);
     }
 }        
 for(int n = 2; n < anzahl; n++) {
     if(größe(1) > größe(n)) {
         tausche(1, n);
     }
 }        
 for(int n = 3; n < anzahl; n++) {
     if(größe(2) > größe(n)) {
         tausche(2, n);
     }
 }        

Beim ersten Mal wird der Stein Nummer 0 mit allen weiteren verglichen und getauscht.
Beim zweiten Mal wird der Stein Nummer 1 mit allen weiteren verglichen und getauscht.
Beim dritten Mal wird der Stein Nummer 2 mit allen weiteren verglichen und getauscht.

Es ändern sich jeweils die Nummer des Steins in n = ... und if(größe(...) > größe(n)) sowie tausche(..., n)

Alles in eine Schleife verpackt ergibt:

 for(int stein = 0; stein < anzahl; stein++) {
     for(int n = stein+1; n < anzahl; n++) {
         if(größe(stein) > größe(n)) {
             tausche(stein, n);
         }
     }        
 }