Часто данные, хранящиеся в массиве необходимо расположить в порядке возрастания или убывания – отсортировать.
При сортировке представляется вполне естественным выбрать из всего массива минимальный элемент и поставить его на первое место. Затем – выбрать из всех оставшихся элементов минимальный и поставить его на второе место и т.д., пока весь массив не будет отсортирован. Такой метод сортировки называется методом выбора (в данном случае рассматривается сортировка по возрастанию).
Программа примера 12 реализует сортировку массива методом выбора.
Пример 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
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. |
Кроме рассмотренного выше, существует множество других методов сортировки, различающихся быстродействием, к примеру, так называемый метод пузырька, который мы рассмотрим в следующем посте.