ВУЗ:
Составители:
Рубрика:
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.
17.2 Обменная сортировка
Обменная сортировка основывается на последовательном сравнении
двух рядом стоящих элементов
и если порядок следования нарушен,
элементы меняются местами. Сравнения производятся до тех пор, пока при
очередном цикле просмотра всех рядом стоящих пар элементов, ни одна пара
элементов не менялась местами. В том случае, если элементы массива уже
упорядочены, алгоритм закончит свою работу после одного цикла просмотра
всех рядом стоящих пар.
Просмор
пар может начинаться с начала массива или с его конца, в
последнем случае алгоритм называют алгоритмом пузырьковой сортировки.
Подробнее об этом можно ознакомиться в [2,3].
Рассмотрим работу алгоритма по схеме.
Схема алгоритма обменной сортировки
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]
Страницы
- « первая
- ‹ предыдущая
- …
- 73
- 74
- 75
- 76
- 77
- …
- следующая ›
- последняя »