Сортування бульбашкою (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
, з більше - “>” на менше - “<“.