Шаг 13.
Алгоритмы.
Пример реализации сортировки методом "пузырька"

    На этом шаге рассмотрим реализацию алгоритма сортировки методом "пузырька" на простом примере.

    Требуется отсортировать числовой массив по убыванию.

    Рассмотрим один из возможных подходов к реализации алгоритма сортировки методом "пузырька" некоторого числового массива.

const n=20;
var
  arr:array [1..n]of integer;
  i,j:byte;
begin
  //Заполнение элементов массива значениями
  writeln('Исходный массив:');
  for i:=1 to n do
  begin
    arr[i]:=random(n+1)-n div 2;
    write(arr[i]:5);
  end;
  writeln;
  writeln('Массив после сортировки:');
  //Выполним n-1 проход по массиву
  for i:=1 to n-1 do
     //Рассмотрим элементы с 1 по n-i
     for j:=1 to n-i do
    //если в паре первый элемент меньше второго, 
    //то меняем их местами
      if arr[j]<arr[j+1] then
      begin
          arr[j]:=arr[j]+arr[j+1];
          arr[j+1]:=arr[j]-arr[j+1];
          arr[j]:=arr[j]-arr[j+1];
      end;
  //вывод отсортированного массива
  for i:=1 to n do
     write(arr[i]:5);
end.

    Архив с примером можно взять здесь.

    На следующем шаге начнем рассматривать рекурсию.




Предыдущий шаг Содержание Следующий шаг