Часто данные, хранящиеся в массиве необходимо расположить в порядке возрастания или убывания – отсортировать.

При сортировке представляется вполне естественным выбрать из всего массива минимальный элемент и поставить его на первое место. Затем – выбрать из всех оставшихся элементов минимальный и поставить его на второе место и т.д., пока весь массив не будет отсортирован. Такой метод сортировки называется методом выбора (в данном случае рассматривается сортировка по возрастанию).

Программа примера 12 реализует сортировку массива методом выбора.

Пример 12

pascal
uses Crt;
const
n=10;
var
x   : array [1..n] of integer;
i,j : integer;
t   : integer;
BEGIN
ClrScr;
{ Ввод массива }
writeln('Введите элементы массива');
for i:=1 to n do
begin
write(' Элемент ',i:2,': ');
readln(x[i])
end;
{ Сортировка методом выбора }
for i:=1 to n-1 do
for j:=n downto i+1 do
if x[i]>x[j] then
begin
t:=x[i];     { x[i] и x[j] меняются местами }
x[i]:=x[j];
x[j]:=t;
end;
Write('Отсортированный массив:');
for i:=1 to n do
write(x[i]:4);
END.

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