Сортировка методом прямого обмена (линейной сортировки)

В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого, сравнивается со следующим, и если он больше следующего, то элементы меняются местами. Таким образом, элементы с меньшим значением продвигаются к началу массива (всплывают), а элементы с большим значением – к концу массива (тонут), поэтому этот метод иногда называют методом «пузырька». Это процесс повторяется на единицу меньше раз, чем элементов в массиве.

Пример алгоритма (рисунок) и программы сортировки массива целых чисел по возрастанию методом «пузырька».

program Primer;

const n=5; {описание константы}

Var

a: array [1..n] of integer; {объявление массива}

i,buf,k:integer;

Begin

writeln(‘введите значения элементов массива’);

for i:=1 to n do readln(a[i]); {заполнение одномерного массива}

for i:=1 to n-1 do {сортировка}

Begin

for k:=1 to n-1 do

Begin

if a[k]>a[k+1] then

Begin

buf:=a[k];

a[k]:=a[k+1];

a[k+1]:=buf;

end;

end;

end;

for k:=1 to n do write(a[k],’ ‘);

readln;

end.

Рисунок И.2 – Блок-схема программы сортирования элементов массива по возрастанию методом “пузырька”


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: