Текст программы сортировки выбором

Uses crt;

Var

M:array[1..1000] of integer;

n, i, j, Min, i_min:integer;

Begin

Clrscr;

Write(' Введите длину массива n = ');

Readln(n);

{ Вместо ввода с клавиатуры заполним массив случайными числами из диапазона от 0 до 500}

For i:=1 to n do M[i]:=Random(500);

For i:=1 to n-1 do

Begin

{принимаем за минимум i-й элемент}

Min:=M[i]; i_min:=i;

For j:=i+1 to n do

If M[j]<Min then

Begin {найдено меньшее число - запоминаем его и его адрес}

Min:=M[j]; i_min:=j;

End;

{Обмен}

M[i_min]:=M[i];

M[i]:=Min;

End;

Writeln(' Упорядоченный массив');

For i:=1 to n do write(M[i],' ');

readkey;

End.

Обменная сортировка

Обменная сортировка основывается на последовательном сравнении двух рядом стоящих элементов и если порядок следования нарушен, элементы меняются местами. Сравнения производятся до тех пор, пока при очередном цикле просмотра всех рядом стоящих пар элементов, ни одна пара элементов не будет меняться местами. В том случае, если элементы массива уже упорядочены, алгоритм закончит свою работу после одного цикла просмотра всех рядом стоящих пар.

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


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



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