Сортування бульбашкою

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

Дивіться також: