顯示具有 排序 標籤的文章。 顯示所有文章
顯示具有 排序 標籤的文章。 顯示所有文章

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

Selection Sort - delphi

procedure  SelectionSort(var A: array of Integer);
var
  I, J, T: Integer;
begin
  for I := Low(A) to High(A) - 1 do
    for J := High(A) downto I + 1 do
      if A[I] > A[J] then
      begin
       
        T := A[I];
        A[I] := A[J];
        A[J] := T;
      
      end;
end;


//=================================
// see as:

Bubble Sort - delphi

Quick Sort -delphi

 

Bubble Sort - delphi

procedure  BubbleSort(var A: array of Integer);
var
  I, J, T: Integer;
begin

  for I := High(A) downto Low(A) do
    for J := Low(A) to High(A) - 1 do
      if A[J] > A[J + 1] then
      begin
           
        T := A[J];
        A[J] := A[J + 1];
        A[J + 1] := T;
       
      end;
end;

//=================================
// see as:

Selection Sort - delphi

Quick Sort -delphi