Insertionsort history menue scroll up


Funktionsweise
Insertionsort - ebenfalls ein elementarer Sortieralgorithmus - bedient sich der Methode »Sortieren durch Einfügen«.
Der Index i wird beginnend mit 1 so lange erhöht, bis zwei benachbarte Elemente gegen das Ordnungsprinzip verstoßen, d.h. zahl[i]<zahl[i-1]. Dann wird zahl[i] in der Hilfsvariablen help zwischengespeichert. Nun rücken alle links von zahl[i] stehenden Elemente, die größer als help sind, um eine Position nach rechts, bis die richtige Stelle für help gefunden ist. help schließt die entstandene Lücke und es geht mit dem nächsten i weiter.
I = J =  
Stoppuhr:    Vergleiche = Vertauschungen =
 

 

procedure insertion(var zahl: feld);
var i,j,help: integer;
begin
  for i:=1 to size do
  begin
    if zahl[i]<zahl[i-1] then
    begin
      j:=i;
      help:=zahl[i];
      while (zahl[j-1]>help) and (j>0) do
      begin
        zahl[j]:=zahl[j-1];
        j:=j-1;
      end;
      zahl[j]:=help;
    end;
  end;
end;

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