Сортировка выбором на Pascal
Требуется отсортировать массив по возрастанию методом сортировки выбором.
Для этого можно воспользоваться следующим алгоритмом.
- Найти максимальный элемент (max) в массиве (arr).
- Поместить его на последнее место (j).
- Элемент, находившийся в конце массива переместить на место, где прежде находился max.
- Уменьшить просматриваемую область массива на единицу (
j – 1). - Снова найти максимальный элемент в оставшейся области.
- Поместить его в конец просматриваемой области массива.
- и так далее.
Программа на языке Паскаль:
const n = 10; var arr: array[1..n] of byte; max, id_max, i, j: byte; begin randomize; for i := 1 to n do begin arr[i] := random(256); write(arr[i]:4) end; writeln; j := n; while j > 1 do begin max := arr[1]; id_max := 1; for i := 2 to j do if arr[i] > max then begin max := arr[i]; id_max := i end; arr[id_max] := arr[j]; arr[j] := max; j := j - 1 end; for i := 1 to n do write(arr[i]:4); end.