Сортировка пузырьком (bubble sort) - один из самых простых для понимания методов сортировки.
Алгоритм выполняет повторяющиеся проходы по массиву. Во время каждого прохода сортируемые элементы попарно сравниваются, и если порядок в паре неверный, элементы меняются местами (отсюда второе название - сортировка простыми обменами).
Визуализация алгоритма сортировки пузырьком
Реализация алгоритма
{$CODEPAGE UTF8}
program BubbleSort;
const
arrayLength = 10;
var
inputArray : array [1..arrayLength] of integer;
i, j, tempValue: integer;
begin
randomize;
writeln ('Исходный массив: ');
{заполнение массива случайными числами}
for i := 1 to arrayLength do
begin
inputArray[i] := random(100);
write (inputArray[i]:4);
end;
writeln;
{пузырьковая сортировка}
for i := 1 to arrayLength-1 do
for j := 1 to arrayLength-i do
if inputArray[j] > inputArray[j+1] then
begin
{обмен элементов}
tempValue := inputArray[j];
inputArray[j] := inputArray[j+1];
inputArray[j+1] := tempValue;
end;
writeln ('Отсортированный массив: ');
for i := 1 to arrayLength do
write (inputArray[i]:4);
readln;
end.
Результат работы программы:
В приведенной программе производиться сортировка по возрастанию, для сортировки по убыванию достаточно изменить операцию сравнения в строке if inputArray[j] > inputArray[j+1] then
, с больше - “>” на меньше - “<“.