4.2.3. Обработка массива

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

Один из самых популярных методов сортировки — "пузырьковый" основан на том, что в процессе исполнения алгоритма более "легкие" элементы массива постепенно "всплывают". Особенностью данного метода является сравнение, а затем, если нужно, и перестановка соседних элементов (листинг 4.6).

Листинг 4.6. Программа сортировки методом "пузырька"

const count=20;
m: array [1..count] of byte = (9,11,12,3,19,1,5,17,10,18,3,19,17,9,12,20,20,19,2,5);
var i,j,buf,l: byte; a: integer;
begin
  writeln('Исходный массив:');
  for i:=1 to count do
  write(' ',m[i]); writeln; readln;
  a:=0;
  for i:=2 to count do
    begin
      for j:=count downto i do
        begin
          a:=a+1;
         if m[j-1]          {.слева, то "вытесняем" его влево — пузырек "всплывает" }
            begin
              buf:=m[j-1]; { перестановка элементов }
              m[j-l] :=m[j];
              m[ j]:=buf;
              for 1:=1 to count do write(' ',m[l]);
              writeln('; итерация # ' ,a);
            end;
        end;
    end;
end.

По последнему значению а определяем, что для данного массива линейная сортировка по невозрастанию пузырьковым методом выполняется за 170 итераций.

 предыдущая         меню        вверх         следующая

Hosted by uCoz