Добавить комментарий

Delphi

Быстрая сортировка

type
  TAI = array of integer;
...

procedure QuickSort(var A: TAI);
    procedure QSort(ALeftIdx, ARightIdx: Integer);
    var
      l, r : Integer;
      mv :integer;
    begin
      if (ARightIdx - ALeftIdx) <=1 then exit;
      mv := A[(ARightIdx + ALeftIdx) div 2];
      l := ALeftIdx;
      r := ARightIdx -1;
      while A[l] < mv do
        inc(l);
      while A[r] > mv do
        dec(r);
      if l<=r then
      begin
        swap(A[l],A[r]);
        inc(l);
        dec(r);
      end;
      if r > ALeftIdx then QSort(ALeftIdx, r+1);
      if l < ARightIdx then QSort(l, ARightIdx);
    end;

begin
  if Length(A) > 1 then
    QSort(0, Length(A));
end;

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.
  • Вы можете цитировать другие сообщения, используя тэг [quote]

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.