Delphi-Help

  • Increase font size
  • Default font size
  • Decrease font size
Главная

Сортировка методом двунаправленного пузырька

Оцените материал
(0 голосов)

Сортировка методом двунаправленного пузырька

{Сортировка одномерного массива значений типа Double методами:
1) Двунаправленный Пузырёк (BiDirBubbleSort);
Зависимости: Math}
 
{ Сортировка Двунаправленным Пузырьком }
procedure BiDirBubbleSort(var data: array of double);
var
  i, j, limit, st: Integer;
  t: double;
  Swapped: Boolean;
begin
  limit := High(data) + 1;
  st := -1;
  while (st < limit)
  do begin
     Inc(st);
     Dec(limit);
     Swapped := False;
     j := st;
     while (j < limit)
     do begin
        if (data[j] > data[j+1])
        then begin
             t := data[j];
             data[j] := data[j+1];
             data[j+1] := t;
             Swapped := True;
             end;
        Inc(j);
        end;
     if (not Swapped)
     then EXIT
     else Swapped := False;
     j := limit - 1;
     repeat
       if (data[j] > data[j+1])
       then begin
            t := data[j];
            data[j] := data[j+1];
            data[j+1] := t;
            Swapped := True;
            end;
       Dec(j);
     until (j < st);
     if (not Swapped) then EXIT;
     end;
end;
Прочитано 2708 раз
Авторизуйтесь, чтобы получить возможность оставлять комментарии
不倫慰謝料 の上手な請求方法とは

Авторизация



Счетчики