Selectionsort history menue scroll up


Funktionsweise
Der Algorithmus Selectionsort (auch bekannt als Minimumsort) ist ein naher Verwandter des bereits besprochenen Simplesort. Während Simplesort jedoch pausenlos das Minimum aktualisiert und somit zeitraubende Vertauschungen vornimmt, ist Selectionsort lediglich darauf bedacht, die Position des Minimums (min) zu bestimmen. Das kleinste Element des Restfeldes wird also zunächst nur ausgewählt (selektiert) und erst ganz am Ende des jeweiligen Durchlaufs an den Anfang des Restfeldes getauscht. Die Anzahl der Vertauschungen wird auf diese Weise reduziert und Selectionsort arbeitet dadurch deutlich effizienter als Simplesort.
I = J =  
Stoppuhr:    Vergleiche = Vertauschungen =
 

 

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

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