Simplesort history menue scroll up


Funktionsweise
Gemäß seinem Namen ist Simplesort ist ein recht einfacher (wenngleich nicht sonderlich effektiver) Sortieralgorithmus. Wir betrachten den ersten Durchlauf: Das nullte Element wird mit allen nachfolgenden Elementen verglichen. Immer dann, wenn sich ein kleineres als das augenblicklich nullte Element findet, tauschen beide Elemente ihren Platz. Nach einer Reihe von möglichen Vertauschungen ist am Ende des ersten Durchlaufs das kleinste Element an Position Null gerückt. Die zweite Runde verfährt nach dem selben Prinzip, kann jedoch das nullte Element außen vor lassen. Jeder nachfolgende Durchgang schiebt auf diese Weise den kleinsten Wert auf das Anfangselement des verbleibenden unsortierten Restfeldes. Nachdem alle Durchläufe stattgefunden haben, ist das Feld schließlich sortiert.
I = J =  
Stoppuhr:    Vergleiche = Vertauschungen =
 

 

procedure simple(var zahl: feld);
var i,j,help: byte;
begin
  for i:=0 to size-1 do
  begin
    for j:=i+1 to size do
    begin
      if zahl[j]<zahl[i] then
      begin
        help:=zahl[j];
        zahl[j]:=zahl[i];
        zahl[i]:=help;
      end;
    end;
  end;
end;

procedure TForm1.btnSortClick(Sender: TObject);
begin
  simple(zahl);
  printList(zahl);
end;