Пузырьковая сортировка (обменная)

Если в воде находиться пузырёк с воздухом, то он постепенно поднимается наверх. Связано это явление с силой Архимеда: плотность воздуха меньше плотности воды. Сортировка "пузырьком" немного напоминает описанный процесс.

Последовательно просматриваются все пары рядом стоящих элементов массива и, если они расположены в неправильном порядке, они меняются местами. Это правило действует до тех пор, пока все пары не будут стоять в правильном порядке (то есть, по возрастанию или убыванию). Приведу текст программы, реализующий метод сортировки "пузырьком":

const N=10; {Количество элементов массива}
var a: array[1..N] of integer; {массив}
i: integer; {счётчик для цикла}
f: boolean; {Признак наличия неупорядоченных пар}
c: integer; {Переменная для промежуточного хранения}
.......
repeat
f:=false; {Пока неупорядоченных пар не было}
for i:=1 to N-1 do {Просматриваем все пары рядом стоящих элементов}
begin
if a[i]>a[i+1] then {Если пара стоит в неправильном порядке}
begin
f:=true; {Есть неупорядоченная пара}
c:=a[i];a[i]:=a[i+1];a[i+1]:=c; {Меняем местами элементы массива}
end;
end;
until not f; {Ждём, пока не исчезнут все неупорядоченные пары}
Метод сортировки "пузырьком" является одним из самых простых и, одновремнно, самых медленных методов.