Home » Tipps & Tricks » Algorithmen » Sortieren » BubbleSort

BubbleSort

Der Bubblesort-Algorithmus ist ein elementares Sortier-Verfahren.

Dieser Algorithmus durchläuft dabei eine Liste und vergleicht jeweils die Werte des aktuellen Elements mit dem nächsten. Ist der Wert des aktuellen Elements größer als der des nächsten, werden sie vertauscht. Dabei wird die Liste sooft durchlaufen, bis keine Elemente mehr vertauscht werden müssen, das heißt, bis die Liste sortiert ist.

Die konkrete Umsetzung in Delphi sieht so aus:

procedure BubbleSort(var A: array of Integer);
var
  i: Integer;
  temp: Integer;
  done: Boolean;
begin
  repeat
    done := True;
    for i := Low(A) to High(A) - 1 do
    begin
      if A[i] > A[i + 1] then
      begin
        temp := A[i];
        A[i] := A[i + 1];
        A[i + 1] := temp;
        done := False;
      end;
    end;
  until done;
end;

BubbleSort ist ein vergleichsweise ineffizientes Verfahren, weshalb es hauptsächlich Lehrzwecken dient. Für den produktiven Einsatz eignen sich schnellere Algorithmen wie beispielsweise QuickSort.