Сортировка пузырьком

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

Смотрите также: