Quick Sort -delphi

 procedure QuickSort(var A: array of Integer; iLo, iHi: Integer);
  var
    Lo, Hi, Mid, T: Integer;
  begin
    Lo := iLo;
    Hi := iHi;
    Mid := A[(Lo + Hi) div 2];

    repeat

      while   A[Lo]  <     Mid    do Inc(Lo);

      while A[Hi]      >   Mid do Dec(Hi);

      if Lo  <=  Hi then
      begin
       
        T := A[Lo];
        A[Lo] := A[Hi];
        A[Hi] := T;
        Inc(Lo);
        Dec(Hi);
      end;
    until   Lo > Hi;

    if Hi >   iLo then QuickSort(A, iLo, Hi);
    if Lo <  iHi then QuickSort(A, Lo, iHi);

 end;

//==============================================
SEE AS:

Bubble Sort - delphi

 

Selection Sort - delphi

沒有留言:

張貼留言