Алгоритмы сортировки одномерных массивов

 

Сортировка - один из наиболее распространённых процессов современной обработки данных. Сортировкой называется распределение элементов массива всоответствии с определёнными правилами. Например, сортировка массива по возрастанию или убыванию его элементов. Существует несколько методов сортировки, рассмотрим обменную сортировку (метод пузырька), сортировку вставками и сортироаку выбором.

 

Обменная сортировка (метод "пузырька").

 

Алгоритм начинается со сравнения 1-го и 2-го элементов массива.

Если 2-й элемент меньше 1-го, то они меняются местами. Этот процесс повторяется для каждой пары соседних элементов массива, пока все N элементов не будут обработаны. За один "проход" массива самый большой элемент встанет на старшее (N-е) место. Далее алгоритм повторяется, причем на р-м "проходе" первые (N-p) элементов сравниваются со своими правыми соседями. Если на очередном "проходе" перестановок не было, то алгоритм свою работу закончил. Таким образом, самые "легкие" элементы впроцессе исполнения алгоритма постепенно "всплывают".

Пример: Отсортировать по возрастанию 20 элементов одномерного массива. Ввод массива осуществить любым способом.

program BubbleSort;

M : array[1..n] of Real;

Var B : Real; i,j : Integer;

begin

n: = 20;

Writeln ('Введите элементы массива:');

for i:=1 to n do Read (M[i]);

for j:=n downto 2 do

for i:=1 to j-1 do

if M[i] > M[i+1] then begin B := M[i];M[i] := M[i+1];M[i+1] := B end;

Writeln ('Отсортированный массив:');

for i:=1 to n do Write (M[i]:8:2);

Writeln;

end.