ВУЗ:
Составители:
Рубрика:
39
Процесс сортировки
0: 1 3 0 9 2 min=a[3]=0 Переставляем a[1]<->a[3]
1: 0|3 1 9 2 min=a[3]=1 Переставляем a[2]<->a[3]
2: 0 1|3 9 2 min=a[5]=2 Переставляем a[3]<->a[5]
3: 0 1 2|9 3 min=a[5]=3 Переставляем a[4]<->a[5]
4: 0 1 2 3 9 Готово
Здесь знак | отделяет уже отсортированную часть массива от еще не
отсортированной.
На Turbo Pascal этот алгоритм будет выглядеть следующим образом:
Var
Buf : integer; {Через buf будем менять значения двух
элементов массива}
imin : IndexEl; {Индекс минимального элемента
неотсортированной части массива}
…
Begin
…
{n-1 раз ищем минимальный элемент массива}
for I := 1 to n - 1 do
begin
{Ищем минимальный элемент в несортированной
части массива (от i-го элемента)}
imin := i;
for j := I + 1 to n do
if A[j] < A[imin] then imin := j;
{Переставляем i-й и imin-й элементы}
buf := A[i];
A[i] := A[imin];
A[imin] := buf;
End;
…
Страницы
- « первая
- ‹ предыдущая
- …
- 37
- 38
- 39
- 40
- 41
- …
- следующая ›
- последняя »