delphi 快速排序类

delphi 快速排序类

procedure QuickSort(var N: array of integer; L, R: integer);
var
  I, J, IntTemp: integer;
begin
  if L < R then
  begin
    I := L;
    J := R;
    IntTemp := N[I];
    while I < J do
    begin
      while (I < J) and (N[J] >= IntTemp) do
      begin
        J := J - 1;
      end;
      if I < J then
        N[I] := N[J];
      while (I < J) and (N[I] <= IntTemp) do
      begin
        I := I + 1;
      end;
      if I < J then
        N[J] := N[I];
    end;
    N[I] := IntTemp;
    QuickSort(N, L, I - 1);
    QuickSort(N, I + 1, R);
  end;
end;

猜你喜欢

转载自blog.csdn.net/fkzxf/article/details/105949823