Сортировка методом перебора ("куча").
Суть метода состоит в следующем. Весь массив делится на две части. Слева будет находится отсортированная часть, а справа "куча" т.е. не отсортированный массив. Из "кучи" вбирается максимальный элемент затем он переставляется в первую ячейку, а элемент из первой ячейки на его место. После этого заполняется вторая ячейка. Массив опять перебирается и из оставшейся части снова выбирается максимальный элемент, который должен встать на место второго элемента, а второй элемент на его место и т.д. пока не переберется вся "куча".
program sortirovrk_puzir;
var
a:array [1..20] of integer;
k,i,j,max,p:word;
begin
заполнение массива
for i:=1 to 20 do
a[i]:=random(10);
вывод на монитор массива до обработки
write ('массив до обработки');
writeln;
for i:=1 to 20 do
write (a[i]);
сортировка массива
for i:=1 to 20 do begin
for j:=i to 20 do разделение массива на отсортированный и "кучу"
if a[j]>max then begin нахождение максимального элемента
max :=a[j]; запоминание максимального элемента
k:=j; запоминание индекса максимального элемента.
end;
p:=a[i]; перестановка элементов
a[i]:=a[k];
a[k]:=p;
m ax:=0; обнуление максимального значения
end;
write('массив после обработки');
writeln;
for i:=1 to 20 do
write(a[i]);
end.