LINUX.ORG.RU

История изменений

Исправление bormant, (текущая версия) :

Это чтобы не вызывать цикл перебора, когда сортировка больше не требуется.

Нет.
По крайней мере это так не работает, как вы об этом говорите.
Пузырьку нужен минимум один проход, чтобы убедиться в отсортированности массива. Для этого вполне достаточно цикла с гарантированным одним проходом:

repeat
  Done:=True;
  {просмотр массива, при обмене установка Done:=False}
until Done;
Конструкция с while в этом случае неудобна, поскольку нужно дополнительно задавать значение флага перед входом в цикл:
Cont:=True;
while Cont do begin
  Cont:=False;
  {просмотр массива, при обмене установка Cont:=True}
end;

Исходная версия bormant, :

Это чтобы не вызывать цикл перебора, когда сортировка больше не требуется.

Нет.
По крайней мере это так не работает, как вы об этом говорите.
Пузырьку нужен минимум один проход, чтобы убедиться в отсортированности массива. Для этого вполне достаточно цикла с гарантированным одним проходом:

repeat
  Done:=True;
  {просмотр массива, при обмене установка Done:=False}
until Done;
Конструкция с while в этом случае неудобна, поскольку нужно дополнительно задавать значение флага перед входом в цикл:
[br]Cont:=True;[br]while Cont do begin[br]  Cont:=False;[br]  {просмотр массива, при обмене установка Cont:=True}[br]end;[br]